Function at 0x4a1240
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x57c512
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x444
mov eax, dword [0x733f14]
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x45c], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x464]
mov ebp, dword [esp + 0x46c]
cmp ebp, 0xffffffff
mov byte [esp + 0x45c], 5
mov esi, dword [ecx + 0x2b8]
mov dword [esp + 0x2c], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x44], eax
jne 0x4a12dc
cmp dword [ecx + 0x2c4], ebx
je 0x4a1342
lea ebp, [eax - 1]
cmp ebp, eax
jg 0x4a12e4
cmp ebp, ebx
jge 0x4a12e6
mov ebp, eax
xor edi, edi
cmp eax, ebx
jle 0x4a1404
lea ecx, [esi + 0x2348]
mov dword [esp + 0x14], ecx
cmp byte [esi + edi + 0x24], 1
jne 0x4a132d
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
cmp ecx, ebx
je 0x4a132d
mov eax, dword [esp + 0x468]
push eax
push ecx
call fcn.0053f51d
add esp, 8
test eax, eax
jne 0x4a1329
cmp dword [esp + 0x470], ebx
jne 0x4a1346
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x14]
inc edi
add edx, 4
cmp edi, eax
mov dword [esp + 0x14], edx
jl 0x4a12fa
jmp 0x4a1404
mov ebp, eax
jmp 0x4a12e0
push 0x706174
push 0x196
call fcn.0051faa0
mov edi, dword [esp + 0x470]
push eax
push edi
lea ecx, [esp + 0x20]
push 0x66e224
push ecx
call fcn.00557b5d
mov edx, dword [esp + 0x28]
push 0x23
push edx
call fcn.004f3450
add esp, 0x20
cmp eax, 6
je 0x4a140b
cmp eax, 2
jne 0x4a1394
mov dword [0x85ac64], 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x45c], 4
call fcn.0055adeb
lea ecx, [esp + 0x28]
mov byte [esp + 0x45c], 3
call fcn.0055adeb
lea ecx, [esp + 0x18]
mov byte [esp + 0x45c], 2
call fcn.0055adeb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x45c], 1
call fcn.0055adeb
lea ecx, [esp + 0x20]
mov byte [esp + 0x45c], bl
call fcn.0055adeb
lea ecx, [esp + 0x10]
mov dword [esp + 0x45c], 0xffffffff
call fcn.0055adeb
or eax, 0xffffffff
jmp 0x4a1814
mov edi, dword [esp + 0x468]
mov ecx, dword [0x78c448]
call fcn.00474730
push edi
call fcn.004f5860
add esp, 4
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x4a1491
cmp dword [esp + 0x470], ebx
je 0x4a155f
push str.Do_you_want_to_continue_
push 0x1ed
call fcn.0051faa0
add esp, 8
push eax
push edi
push str.Open_file_failed.
push 0x1ec
call fcn.0051faa0
add esp, 8
push eax
lea eax, [esp + 0x60]
push str._s_r_n_r_n_s_r_n_r_n_s
push eax
call fcn.0053f7f2
lea ecx, [esp + 0x68]
push 0x34
push ecx
call fcn.004f3450
add esp, 0x1c
cmp eax, 6
je 0x4a1791
mov dword [0x85ac64], 1
jmp 0x4a1791
lea edx, [esp + 0x48]
push 1
push edx
lea ecx, [esp + 0x40]
lea edx, [esp + 0x38]
push ecx
push edx
push edi
push eax
push 0x78c650
mov dword [esp + 0x50], eax
call fcn.0049f320
mov edi, eax
add esp, 0x1c
cmp edi, ebx
jg 0x4a1561
mov eax, dword [esp + 0x468]
push eax
call fcn.004a2870
add esp, 4
cmp eax, ebx
mov dword [esp + 0x2c], eax
je 0x4a1520
push eax
call fcn.004f5860
add esp, 4
cmp eax, ebx
mov dword [esp + 0x50], eax
je 0x4a1520
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004f5730
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x4c]
push 1
lea ecx, [esp + 0x40]
push edx
push ecx
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x40]
push edx
push ecx
push eax
push 0x78c650
mov dword [esp + 0x54], eax
call fcn.0049f320
add esp, 0x20
mov edi, eax
cmp edi, ebx
jg 0x4a1561
push 0x705e48
push 0x114
call fcn.0051faa0
mov edx, dword [esp + 0x470]
push eax
push edx
lea eax, [esp + 0x20]
push 0x66e224
push eax
call fcn.00557b5d
mov ecx, dword [esp + 0x28]
push 0x10
push ecx
call fcn.004f3450
add esp, 0x20
jmp 0x4a1791
xor edi, edi
cmp dword [esp + 0x44], 0x63
jge 0x4a1791
push ebp
push esi
call fcn.004a0bf0
mov dword [esi + ebp*4 + 0x2e40], ebx
mov edx, dword [esp + 0x38]
mov dword [esi + ebp*4 + 0x2b18], edx
mov dword [esi + ebp*4 + 0x3a8], ebx
mov edx, dword [esp + 0x470]
mov dword [esi + ebp*4 + 0x538], ebx
mov byte [esi + ebp + 0x24], 1
mov eax, dword [esp + 0x40]
mov dword [esi + ebp*8 + 0xe98], eax
mov ecx, dword [esp + 0x44]
mov dword [esi + ebp*8 + 0xe9c], ecx
mov dword [esi + ebp*4 + 0x9e8], edi
mov dword [esi + ebp*4 + 0x6c8], ebx
push edx
mov dword [esi + ebp*4 + 0x858], ebx
call fcn.0053f4af
mov dword [esi + ebp*4 + 0x2348], eax
mov eax, dword [esp + 0x38]
push eax
call fcn.0053f4af
mov dword [esi + ebp*4 + 0x24d8], eax
mov eax, dword [esi + ebp*4 + 0x2348]
add esp, 0x10
cmp eax, ebx
je 0x4a1791
mov ecx, dword [esp + 0x34]
mov dword [esi + ebp*4 + 0x2668], ecx
mov edx, dword [esp + 0x38]
mov dword [esi + ebp*8 + 0x27f8], edx
mov eax, dword [esp + 0x3c]
mov dword [esi + ebp*8 + 0x27fc], eax
mov ecx, dword [esp + 0x48]
mov dword [esi + ebp*8 + 0xb78], ecx
mov edx, dword [esp + 0x4c]
mov dword [esi + ebp*8 + 0xb7c], edx
lea edx, [ebp + ebp*8]
mov dword [esi + ebp*4 + 0x11b8], 0x930
mov eax, dword [esi + ebp*4 + 0x2cac]
shl edx, 5
or al, 1
add edx, ebp
mov dword [esi + ebp*4 + 0x2cac], eax
mov ecx, 0x242
xor eax, eax
lea edi, [esi + edx*8 + 0x3330]
mov dword [esi + ebp*4 + 0x88], ebx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x464]
mov dword [esi + ebp*4 + 0x2ffc], ebx
mov dword [esi + ebp*4 + 0x3190], ebx
mov edi, dword [esi + 0xc]
inc edi
push eax
mov dword [esi + 0xc], edi
call fcn.004a1190
push esi
call fcn.004ebd40
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x480]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push 0x78c650
call fcn.0049fa10
add esp, 0x2c
test eax, eax
je 0x4a178d
inc ebp
push esi
push ebp
call fcn.004016b0
push esi
push ebx
mov edi, eax
call fcn.004016b0
add esp, 0x10
cmp edi, ebx
mov esi, eax
je 0x4a1767
mov eax, dword [esp + 0x20]
cmp dword [eax - 8], ebx
je 0x4a170a
lea ecx, [esp + 0x20]
push ecx
call fcn.004f7d50
add esp, 4
mov dword [edi + 0x198], eax
mov edx, dword [esp + 0x1c]
cmp dword [edx - 8], ebx
je 0x4a1726
lea eax, [esp + 0x1c]
push eax
call fcn.004f7d50
add esp, 4
mov dword [edi + 0x19c], eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 8], ebx
je 0x4a1742
lea edx, [esp + 0x18]
push edx
call fcn.004f7d50
add esp, 4
mov dword [edi + 0x1a4], eax
mov eax, dword [esp + 0x24]
cmp dword [eax - 8], ebx
je 0x4a175e
lea ecx, [esp + 0x24]
push ecx
call fcn.004f7d50
add esp, 4
mov dword [edi + 0x1d8], eax
push edi
call fcn.00401d80
add esp, 4
cmp esi, ebx
je 0x4a178d
mov edx, dword [esp + 0x28]
cmp dword [edx - 8], ebx
je 0x4a178d
lea eax, [esp + 0x28]
push eax
call fcn.004f7d50
push esi
mov dword [esi + 0x198], eax
call fcn.00401d80
add esp, 8
mov dword [esp + 0x40], ebx
push 0x78c650
call fcn.0049f240
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004f5720
add esp, 8
lea ecx, [esp + 0x24]
mov byte [esp + 0x45c], 4
call fcn.0055adeb
lea ecx, [esp + 0x28]
mov byte [esp + 0x45c], 3
call fcn.0055adeb
lea ecx, [esp + 0x18]
mov byte [esp + 0x45c], 2
call fcn.0055adeb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x45c], 1
call fcn.0055adeb
lea ecx, [esp + 0x20]
mov byte [esp + 0x45c], bl
call fcn.0055adeb
lea ecx, [esp + 0x10]
mov dword [esp + 0x45c], 0xffffffff
call fcn.0055adeb
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x454]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x450
ret