Function at 0x4a0420
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b8d56
mov eax, dword fs:[0]
push eax
mov eax, 0x2db8
call fcn.004a5100
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0x2db4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cc3b0]
xor eax, esp
push eax
lea eax, [esp + 0x2dcc]
mov dword fs:[0], eax
call fcn.00435e10
mov eax, dword [0x4f65c8]
movsx eax, byte [eax + 0x4cc34c]
mov cl, byte [0x4f7fec]
xor ebp, ebp
mov dword [0x4caddc], eax
neg eax
sbb eax, eax
mov dword [0x4cadd8], eax
mov al, byte [0x4f7feb]
mov dword [0x51ece8], ebp
mov dword [0x51ecec], ebp
mov dword [0x51ecd4], ebp
mov dword [0x51ecd0], ebp
mov dword [0x4d76e8], ebp
mov dword [0x4d7b78], ebp
mov dword [0x4cade0], 0x4d7b78
mov dword [0x4d7708], ebp
mov dword [0x4d7704], ebp
mov dword [0x51eccc], ebp
mov dword [0x51ecc8], ebp
cmp al, 0x52
jne 0x4a04e3
mov dword [0x4d7b64], 3
test cl, cl
je 0x4a04e9
mov dword [0x4d7b64], ebp
xor edx, edx
cmp al, 0x53
sete dl
mov dword [0x4d7b6c], edx
cmp al, 0x52
jne 0x4a0509
mov dword [0x4d7b68], 1
cmp cl, 0x4e
je 0x4a050f
mov dword [0x4d7b68], ebp
cmp byte [0x4f8c1c], 0
je 0x4a06bd
push 0x4f8c1c
call fcn.004a1bf0
mov dword [0x4d7708], eax
cmp eax, ebp
jne 0x4a0545
mov ecx, 0x4d76b4
call fcn.00428de0
push 0x4baa2e
push 4
call fcn.0049feb0
cmp word [0x4f901c], bp
je 0x4a0566
push 0x4f901c
call fcn.004a1c70
mov dword [0x4d7704], eax
cmp eax, ebp
je 0x4a052f
mov eax, dword [0x4d7708]
cmp byte [0x4f6623], 0
je 0x4a059e
push eax
call fcn.004519e0
test al, al
je 0x4a059e
movsx eax, byte [0x4f7feb]
push eax
push 0x4bb070
call fcn.004a46a0
add esp, 8
test eax, eax
je 0x4a059e
mov ecx, dword [0x4d7708]
push ecx
call fcn.00432cd0
cmp dword [0x4d7b64], ebp
je 0x4a063b
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4bde54]
mov word [esp + eax + 0x25c8], cx
add eax, 2
cmp cx, bp
jne 0x4a05b0
mov edx, dword [0x4d7704]
push edx
call fcn.00451c30
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4a05d5
lea edi, [esp + 0x25c8]
sub eax, edx
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x4a05f0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x25c8]
push eax
and ecx, 3
push 0x267
rep movsb byte es:[edi], byte [esi]
call fcn.004611c0
push eax
lea ecx, [esp + 0x48]
push ecx
mov edx, 0x4c8
call fcn.004a29f0
add esp, 0xc
lea edx, [esp + 0x40]
push edx
call fcn.00485f20
call fcn.004a31d0
mov esi, eax
cmp esi, ebp
je 0x4a06b8
lea eax, [esi - 2]
cmp eax, 9
ja case.0x4a0655.5
movzx eax, byte [eax + 0x4a1898]
jmp dword [eax*4 + 0x4a1888]
push 0x2ad
call fcn.004611c0
mov ecx, dword [0x4d7704]
push eax
push ecx
call fcn.00493840
mov eax, dword [0x4d7708]
add esp, 8
push eax
push esi
jmp 0x4a0540
mov ecx, 0x4d76b4
call fcn.00428de0
mov eax, dword [0x4d7708]
push eax
push esi
jmp 0x4a0540
mov edx, dword [0x4d7708]
push ebp
push edx
push ebp
push ebp
mov ecx, 0x4d76b4
call fcn.004295a0
mov eax, dword [0x4d7708]
push eax
push esi
jmp 0x4a0540
mov al, byte [0x4f7feb]
cmp al, 0x44
jne 0x4a06df
call fcn.0047c7a0
cmp eax, ebp
je 0x4a06da
cmp eax, 0xffffffff
je 0x4a06da
push 0x4baa2e
push eax
jmp 0x4a0540
mov al, byte [0x4f7feb]
cmp al, 0x41
jne 0x4a06e8
call fcn.0047c500
call fcn.00433230
cmp dword [0x4d76f8], ebp
je 0x4a0704
mov ecx, dword [0x4d76f0]
push ecx
call fcn.004a4a6f
add esp, 4
mov esi, dword [0x4d7b70]
mov dword [0x51ecd8], ebp
mov dword [0x51ecdc], ebp
mov dword [0x51ece0], ebp
mov dword [0x51ece4], ebp
mov dword [esp + 0x1c], ebp
cmp esi, ebp
je 0x4a08f8
cmp dword [esi + 0x50], ebp
je 0x4a08ed
mov eax, dword [esi + 0x38]
push 0x400
lea edx, [esp + 0x25cc]
push edx
push eax
call fcn.00452ce0
cmp byte [0x4f65e1], 0
je 0x4a0772
mov ecx, dword [esi + 0x38]
push ecx
call fcn.004a0080
test al, 0x20
jne 0x4a0772
mov dword [esi + 0x50], ebp
mov dword [esi + 0x54], 1
jmp 0x4a08ed
mov edx, dword [esi + 0x14]
add dword [0x51ece0], edx
adc dword [0x51ece4], ebp
cmp byte [0x4f7feb], 0x44
je 0x4a08e9
mov eax, dword [esi + 0x38]
push ebp
push ebp
push eax
call fcn.0047c2d0
mov edx, dword [0x51ece8]
mov ecx, dword [0x51ecec]
cmp eax, ebp
je 0x4a07cc
cmp eax, edx
jb 0x4a07cc
cmp ecx, ebp
je 0x4a07b5
cmp eax, ecx
jae 0x4a07cc
cmp byte [0x4f65e5], 0
jne 0x4a07c7
cmp byte [0x4f65e4], 0
je 0x4a0807
cmp eax, dword [esi + 8]
ja 0x4a0807
mov dword [esi + 0x50], ebp
cmp eax, ebp
je 0x4a07e6
cmp eax, edx
jb 0x4a07e6
cmp ecx, ebp
je 0x4a07df
cmp eax, ecx
jae 0x4a07e6
mov eax, 1
jmp 0x4a07e8
xor eax, eax
mov dword [esi + 0x54], eax
cmp eax, ebp
je 0x4a08ed
mov ecx, dword [esi + 0x14]
sub dword [0x51ece0], ecx
sbb dword [0x51ece4], ebp
jmp 0x4a08ed
cmp byte [0x4f7feb], 0x44
je 0x4a08e9
mov eax, dword [0x4f65c4]
cmp eax, ebp
je 0x4a08e9
cmp eax, 2
sete bl
cmp eax, 4
jne case.default.0x4a08af
xor eax, eax
jmp 0x4a0840
mov cl, byte [esp + eax + 0x25c8]
mov byte [esp + eax + 0x21c8], cl
inc eax
test cl, cl
jne 0x4a0840
lea edx, [esp + 0x21c8]
push edx
mov edi, 2
call fcn.00451c90
movsx eax, byte [eax]
push eax
call fcn.004516a0
test al, al
jne 0x4a08a7
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x14]
push 7
push ecx
push ebp
push edx
push ebp
lea eax, [esp + 0x21dc]
push eax
call fcn.0040af70
mov edx, dword [str.YNANC]
movsx ecx, al
push ecx
push edx
call fcn.004a46a0
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
lea eax, [edi - 2]
cmp eax, 3
ja case.default.0x4a08af
jmp dword [eax*4 + 0x4a18a4]
mov dword [0x4f65c4], 1
jmp case.default.0x4a08af
mov dword [0x4f65c4], 2
mov dword [esi + 0x50], ebp
jmp 0x4a08ed
push 0xff
mov ecx, 0x4d76b4
call fcn.004296e0
test bl, bl
je 0x4a08e9
mov dword [esi + 0x50], ebp
jmp 0x4a08ed
inc dword [esp + 0x1c]
mov esi, dword [esi + 0x58]
cmp esi, ebp
jne 0x4a072e
lea ecx, [esp + 0x193c]
call fcn.00412750
lea ecx, [esp + 0x1960]
call fcn.00412750
lea ecx, [esp + 0x1984]
call fcn.00412750
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
mov dword [esp + 0x30], ebp
push ecx
xor ebp, ebp
call fcn.00431770
test al, al
je 0x4a0969
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push ebp
lea edx, [esp + 0xd2c]
push edx
push eax
push ecx
call fcn.00435490
test al, al
je 0x4a0969
mov edx, dword [esp + 0x1928]
mov ebp, dword [esp + 0x192c]
mov dword [esp + 0x2c], edx
mov esi, dword [0x4d7b78]
test esi, esi
je 0x4a0a9c
jmp 0x4a0980
mov eax, dword [esi + 0xc]
add dword [0x51ece0], eax
adc dword [0x51ece4], 0
mov ecx, dword [esi]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a0997
mov edx, dword [esi + 0xc]
sub eax, edi
lea eax, [edx + eax*2 + 0x100]
add dword [esp + 0x2c], eax
adc ebp, 0
test ebp, ebp
jg 0x4a0b39
jl 0x4a09c9
cmp dword [esp + 0x2c], 0x80000000
jae 0x4a0b39
push 0
push 0
push ecx
call fcn.0047c2d0
mov ecx, dword [esi]
mov edi, eax
test edi, edi
push ecx
sete bl
call fcn.00451c90
movsx edx, byte [eax]
push edx
call fcn.004516a0
cmp byte [0x4f65e1], 0
mov byte [esp + 0x24], al
je 0x4a0a04
mov eax, dword [esi]
push eax
call fcn.004a0080
test al, 0x20
je 0x4a0a65
mov al, byte [0x4f7feb]
cmp al, 0x44
je 0x4a0a65
cmp al, 0x41
jne 0x4a0a1a
cmp byte [0x4f65e4], 0
jne 0x4a0a65
mov ecx, dword [esp + 0x24]
mov edx, dword [esi]
push 1
push 1
push ecx
push edx
mov ecx, 0x4f2ca0
call fcn.0041c7b0
test al, al
jne 0x4a0a65
test bl, bl
jne 0x4a0a69
cmp edi, dword [0x51ece8]
jb 0x4a0a8c
mov eax, dword [0x51ecec]
test eax, eax
je 0x4a0a4d
cmp edi, eax
jae 0x4a0a8c
mov eax, dword [0x4d7708]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.0046a750
test eax, eax
je 0x4a0a8c
mov esi, dword [esi + 0x14]
jmp 0x4a0a94
test bl, bl
je 0x4a0a8c
mov edx, dword [esi + 8]
push edx
call fcn.0046abc0
push eax
push 0x206
call fcn.004611c0
push eax
mov eax, dword [0x4d7704]
push eax
call fcn.00493840
add esp, 0xc
push esi
call fcn.00433150
mov esi, eax
test esi, esi
jne 0x4a0980
cmp dword [esp + 0x1c], 0
mov eax, dword [0x4d7b70]
jne 0x4a0bae
cmp dword [0x4d7b78], 0
jne 0x4a0bae
cmp dword [0x4d7b68], 0
jne 0x4a0bae
mov ecx, dword [0x4f660c]
mov edx, dword [0x4d7b64]
mov esi, dword [0x4d7b6c]
test eax, eax
je 0x4a0b01
test ecx, ecx
jne 0x4a0bae
test edx, edx
jne 0x4a0c08
test esi, esi
jne 0x4a0bb7
cmp word [0x4f4cb0], si
jne 0x4a0bb7
cmp byte [0x4f65e5], 0
jne 0x4a0ba7
cmp byte [0x4f65e4], 0
jne 0x4a0ba7
test eax, eax
jne 0x4a0b5f
test ecx, ecx
jne 0x4a0b2b
test edx, edx
jne 0x4a0b2b
test esi, esi
je 0x4a0b5f
mov edx, dword [0x4d7708]
push edx
push 0xd
jmp 0x4a0540
push 0x3b7
call fcn.004611c0
mov ecx, dword [0x4d7704]
push eax
push ecx
call fcn.00493840
add esp, 8
push 0x4baa2e
push 5
jmp 0x4a0540
mov al, byte [0x4f7feb]
cmp al, 0x41
jne 0x4a0b7b
push 0x340
call fcn.004611c0
push eax
mov eax, dword [0x4d7704]
push eax
jmp 0x4a0b91
cmp al, 0x44
jne 0x4a0b99
push 0x345
call fcn.004611c0
mov ecx, dword [0x4d7704]
push eax
push ecx
call fcn.00493840
add esp, 8
mov edx, dword [0x4d7708]
push edx
push 0xc
jmp 0x4a0540
push 0
jmp 0x4a164c
cmp dword [0x4d7b64], 0
jne 0x4a0c08
cmp byte [0x4f2cb0], 0
je 0x4a0bcc
test eax, eax
jne 0x4a0bcc
cmp dword [0x4d7700], eax
je 0x4a0c08
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
push ecx
call fcn.00431850
cmp dword [0x4d7b70], 0
mov dword [esp + 0x24], eax
jne 0x4a0c10
cmp dword [0x4d7700], 0
jne 0x4a0c10
mov edx, dword [0x4d7704]
mov eax, dword [0x4d7708]
push edx
push eax
call fcn.00431a60
jmp 0x4a0c10
mov dword [esp + 0x24], 0
mov ecx, dword [0x4d7704]
mov edx, dword [0x4d7708]
push ecx
xor edi, edi
xor esi, esi
push edx
mov dword [esp + 0x24], esi
mov dword [0x4d76ec], edi
call fcn.00431770
mov bl, al
cmp dword [0x4d7b70], edi
jne 0x4a0c43
cmp dword [0x4d7700], edi
je 0x4a0c90
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push edi
push 0x4baa34
push eax
push ecx
call fcn.00431f60
mov esi, eax
mov dword [0x51ecc8], eax
mov dword [esp + 0x1c], esi
cmp eax, edi
jne 0x4a0c90
mov edx, dword [0x4d7704]
push edx
push 0x1f5
call fcn.004611c0
push eax
call fcn.00493250
add esp, 8
push 0x4baa2e
push 0xd
jmp 0x4a0540
test bl, bl
je 0x4a0ca1
mov eax, dword [0x4d7708]
push eax
call fcn.004336c0
jmp 0x4a0cb0
mov ecx, dword [0x4d7708]
push ecx
call fcn.004b4e60
add esp, 4
mov dword [0x51ecd4], eax
cmp eax, edi
je 0x4a052f
test bl, bl
jne 0x4a0d2f
mov ecx, dword [0x4d7704]
cmp ecx, edi
je 0x4a0d2f
push ecx
call fcn.004a6a11
mov ecx, eax
add esp, 4
mov dword [0x51ecd0], ecx
cmp ecx, edi
je 0x4a052f
mov eax, dword [0x51ecd4]
push edi
push 0x4bae08
push ecx
push eax
call fcn.00431f60
mov dword [esp + 0x28], eax
mov dword [0x51eccc], eax
cmp eax, edi
jne 0x4a0d37
mov edx, dword [0x51ecd4]
push edx
call fcn.0046abc0
push eax
push 0x1f6
call fcn.004611c0
push eax
call fcn.00493250
add esp, 8
push 0x4baa2e
push 0xa
jmp 0x4a0540
mov ecx, dword [0x51ecd0]
jmp 0x4a0ce9
mov ecx, dword [0x4d7700]
cmp ecx, edi
je 0x4a0d6b
push ecx
push eax
push esi
call fcn.004337a0
cmp eax, edi
je 0x4a0d65
mov ecx, dword [0x51ecd4]
cmp eax, 0xa
je 0x4a0d5e
mov ecx, dword [0x4d7708]
push ecx
push eax
jmp 0x4a0540
mov ecx, dword [0x4d7700]
mov al, byte [0x4f7feb]
mov dword [0x4d76ec], ecx
mov dword [esp + 0x2c], edi
cmp al, 0x41
jne 0x4a0da2
cmp dword [0x4d7b70], edi
mov edx, dword [0x4d7704]
setne al
movzx ecx, al
mov eax, dword [0x4d7708]
push ecx
push edx
push eax
call fcn.00409d00
mov al, byte [0x4f7feb]
mov esi, dword [0x4d7b70]
mov dword [esp + 0x14], 0x4d7b70
cmp esi, edi
je 0x4a1121
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x4a0dc7
mov al, byte [0x4f7feb]
mov ebx, 1
cmp dword [esi + 0x50], ebx
jne 0x4a0ed0
cmp al, 0x41
jne 0x4a0e4d
mov ecx, dword [esi + 0x4c]
push 0
push 0
push ebx
push 0
push ecx
call fcn.00409d30
push ebp
push esi
call fcn.004a3f90
test eax, eax
je 0x4a0e02
cmp eax, 0x12
je 0x4a0e10
cmp eax, 0xffffffff
jne 0x4a11cd
cmp eax, 0x12
je 0x4a0e10
cmp eax, 0xffffffff
jne 0x4a1110
mov edx, dword [esi + 0x4c]
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push 0
push edx
push eax
push ecx
mov ecx, 0x4d76b4
mov dword [esp + 0x3c], ebx
call fcn.00429450
mov edx, dword [esp + 0x1c]
push ebp
push edx
push esi
call fcn.004a23c0
test eax, eax
jne 0x4a06cf
mov dword [esi + 0x50], eax
jmp 0x4a1110
cmp byte [0x4eac4c], 0
jne 0x4a1121
mov eax, dword [esi + 0x4c]
push 0
push 0
push eax
call fcn.0040ab20
mov ecx, dword [esi + 0x48]
mov ebx, dword [esi + 0x58]
push ecx
call fcn.004a4a6f
mov edx, dword [esi + 0x4c]
push edx
call fcn.004a4a6f
add esp, 8
cmp dword [esi + 0x1c], 0
je 0x4a0e91
mov eax, dword [esi + 0x3c]
push eax
call fcn.004a4a6f
add esp, 4
cmp dword [esi + 0x20], 0
je 0x4a0ea8
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x3c]
je 0x4a0ea8
push eax
call fcn.004a4a6f
add esp, 4
cmp dword [esi + 0x24], 0
je 0x4a0eba
mov ecx, dword [esi + 0x44]
push ecx
call fcn.004a4a6f
add esp, 4
push esi
call fcn.004a4a6f
add esp, 4
mov dword [edi], ebx
dec dword [0x4d76f8]
jmp 0x4a1117
cmp byte [0x4eac4c], 0
jne 0x4a1121
cmp al, 0x44
jne 0x4a0eed
mov edx, dword [esi + 0x4c]
push ebx
push 0
push edx
call fcn.0040ab20
cmp dword [0x4d7b68], 0
mov edi, dword [0x4d7b64]
je 0x4a10f6
lea ecx, [esp + 0x40]
call fcn.004021f0
mov dword [esp + 0x2dd4], 0
push 0xce8
lea eax, [esp + 0x44]
push 0
push eax
call fcn.004a5130
mov ecx, dword [esi + 0x48]
add esp, 0xc
push ecx
call fcn.00451c90
movsx edx, byte [eax]
push edx
call fcn.004516a0
mov ecx, dword [esi + 0x48]
mov byte [esp + 0x22], al
push 0x3ff
lea eax, [esp + 0x74]
push eax
push ecx
call fcn.00452ce0
lea edx, [esp + 0x25c8]
push edx
lea eax, [esp + 0x74]
push eax
call sub.USER32.dll_CharToOemA
lea ecx, [esp + 0x21c8]
push ecx
lea edx, [esp + 0x25cc]
push edx
call sub.USER32.dll_OemToCharA
lea ecx, [esp + 0x21c8]
lea eax, [esp + 0x70]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4a0fa3
test dl, dl
je 0x4a0f9f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4a0fa3
add eax, 2
add ecx, 2
test dl, dl
jne 0x4a0f83
xor eax, eax
jmp 0x4a0fa8
sbb eax, eax
sbb eax, 0xffffffff
mov bx, word [esi + 4]
test eax, eax
sete byte [esp + 0x23]
shr bx, 0xb
and bl, 1
jne 0x4a0fd4
movzx eax, word [esi]
push eax
shr eax, 8
push eax
call fcn.004a1a00
test al, al
je 0x4a0fd4
mov byte [esp + 0x1b], 1
jmp 0x4a102b
mov byte [esp + 0x1b], 0
test bl, bl
je 0x4a102b
mov eax, dword [esp + 0x48]
push 0x400
lea ecx, [esp + 0x474]
push ecx
lea edx, [esp + 0x78]
or eax, 0x200
push edx
mov word [esp + 0x54], ax
call fcn.004731e0
push 0x3ff
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x478]
xor eax, eax
push edx
mov word [esp + 0xc7a], ax
call fcn.00473010
mov byte [esp + 0x46f], 0
lea eax, [esp + 0x70]
push eax
mov ecx, eax
push ecx
call sub.USER32.dll_CharToOemA
cmp byte [esp + 0x23], 0
jne 0x4a1047
test bl, bl
je 0x4a10e2
lea edx, [esp + 0x40]
push edx
push 0x4f2ca0
call fcn.004544d0
test al, al
je 0x4a10e2
cmp byte [esp + 0x22], 0
je 0x4a106f
lea eax, [esp + 0x70]
push eax
call fcn.004520f0
push 0x400
push 0
lea ecx, [esp + 0x78]
push ecx
call fcn.00452d70
lea edx, [esp + 0x70]
test bl, bl
je 0x4a10a5
push 0x400
push edx
lea eax, [esp + 0x478]
push eax
call fcn.00473120
mov byte [esp + 0x46f], 0
jmp 0x4a10b0
lea ecx, [esp + 0x70]
push ecx
push edx
call sub.USER32.dll_OemToCharA
cmp byte [esp + 0x1b], 0
je 0x4a10bf
mov eax, 0xb17
mov word [esi], ax
mov ecx, dword [esi + 0x48]
push ecx
call fcn.004a4a6f
lea edx, [esp + 0x74]
push edx
call fcn.004b4e60
mov dword [esi + 0x48], eax
add esp, 8
mov dword [0x4d7b64], 3
mov dword [esp + 0x2dd4], 0xffffffff
lea ecx, [esp + 0x40]
call fcn.004017f0
mov eax, dword [esp + 0x1c]
push ebp
push eax
push esi
call fcn.004a23c0
mov dword [0x4d7b64], edi
test eax, eax
jne 0x4a06cf
lea edi, [esi + 0x58]
mov dword [esp + 0x14], edi
mov esi, dword [edi]
test esi, esi
jne 0x4a0dc2
mov edi, dword [0x4d7b78]
test edi, edi
je 0x4a123d
xor ebx, ebx
cmp byte [0x4eac4c], 0
jne 0x4a123d
push 0x5c
call fcn.004a49ac
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a052f
mov dword [esi + 0x58], ebx
mov ecx, dword [edi]
mov dword [esi + 0x38], ecx
mov edx, dword [edi + 4]
mov dword [edi], ebx
lea ebp, [esi + 0x58]
push ebx
mov dword [esi + 0x48], edx
mov eax, dword [edi + 8]
mov dword [edi + 4], ebx
push ebx
mov dword [esi + 0x4c], eax
mov dword [edi + 8], ebx
mov ecx, dword [esi + 0x4c]
push ebx
push ebx
push ecx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x50], 1
call fcn.00409d30
mov edx, dword [esp + 0x28]
push edx
push esi
call fcn.004a3f90
cmp eax, ebx
je 0x4a11b1
cmp eax, 0x12
je 0x4a11e5
cmp eax, 0xffffffff
jne 0x4a12a1
cmp eax, 0x12
je 0x4a11e5
cmp eax, 0xffffffff
je 0x4a11e5
mov eax, dword [esp + 0x14]
mov dword [eax], esi
inc dword [0x4d76f8]
mov dword [esp + 0x14], ebp
jmp 0x4a122d
cmp byte [0x4eac4c], 0
jne 0x4a1121
push 0x4baa2e
push eax
jmp 0x4a0540
mov ecx, dword [esi + 0x4c]
mov edx, dword [0x4d7704]
mov eax, dword [0x4d7708]
push ebx
push ecx
push edx
push eax
mov ecx, 0x4d76b4
mov dword [esp + 0x3c], 1
call fcn.00429450
mov ecx, dword [esi + 0x38]
push ecx
call fcn.004a4a6f
mov edx, dword [esi + 0x48]
push edx
call fcn.004a4a6f
mov eax, dword [esi + 0x4c]
push eax
call fcn.004a4a6f
push esi
call fcn.004a4a6f
add esp, 0x10
push edi
call fcn.00433150
mov edi, eax
cmp edi, ebx
jne 0x4a1131
cmp word [0x4f4cb0], 0
je 0x4a1418
cmp dword [0x4d7b64], 0
jne 0x4a1418
push 0
push 0x4baa34
push 0x4f4cb0
call fcn.00432060
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
jne 0x4a12b5
mov ecx, dword [0x4d7704]
mov edx, dword [0x4d7708]
push 0x4f4cb0
push 0x4f48b0
push ecx
push edx
mov ecx, 0x4d76b4
call fcn.00429450
push 0x4baa2e
push 0x12
jmp 0x4a0540
cmp byte [0x4eac4c], 0
jne 0x4a123d
push 0x4d7710
push eax
jmp 0x4a0540
cmp dword [0x4d76f4], 0
je 0x4a12cc
mov eax, dword [0x4d7b74]
push eax
call fcn.004a4a6f
add esp, 4
push 0x8000
call fcn.004a49ac
add esp, 4
mov dword [0x4d7b74], eax
test eax, eax
je 0x4a052f
push esi
push 0x7fff
push 1
push eax
call fcn.004a65f2
mov ecx, dword [0x4d7b74]
mov dword [0x4d76f4], eax
add esp, 0x10
mov byte [ecx + eax], 0
cmp dword [0x4f54b0], 2
jne 0x4a131c
mov eax, dword [0x4d7b74]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x4f54b0], 3
jne 0x4a140b
mov ebp, dword [0x4d7b74]
mov al, byte [ebp]
cmp al, 0xff
jne 0x4a1343
cmp byte [ebp + 1], 0xfe
jne 0x4a1343
mov edi, 1
jmp 0x4a1345
xor edi, edi
cmp al, 0xfe
jne 0x4a1356
cmp byte [ebp + 1], 0xff
jne 0x4a1356
mov ebx, 1
jmp 0x4a1358
xor ebx, ebx
mov edx, dword [0x4d76f4]
inc edx
push edx
lea ecx, [esp + 0x38]
call fcn.0040b650
mov dword [esp + 0x2dd4], 1
xor edx, edx
lea ecx, [edx + 2]
test edi, edi
jne 0x4a1386
test ebx, ebx
jne 0x4a1386
lea edi, [edx + 1]
xor ecx, ecx
mov esi, dword [esp + 0x34]
cmp ecx, dword [0x4d76f4]
jae 0x4a13c8
lea eax, [ecx + ebx]
add eax, ebp
sub edi, ebx
lea esp, [esp]
movzx bx, byte [edi + eax]
mov ebp, pe_nt_image_headers32
imul bx, bp
movzx bp, byte [eax]
add bx, bp
mov word [esi + edx*2], bx
add ecx, 2
inc edx
add eax, 2
cmp ecx, dword [0x4d76f4]
jb 0x4a13a0
xor eax, eax
mov word [esi + edx*2], ax
mov ecx, dword [0x4d76f4]
mov edx, dword [0x4d7b74]
dec ecx
push ecx
push edx
push esi
call fcn.00473010
mov eax, dword [0x4d76f4]
mov ecx, dword [0x4d7b74]
mov byte [ecx + eax - 1], 0
mov dword [esp + 0x2dd4], 0xffffffff
test esi, esi
je 0x4a140b
push esi
call fcn.004a4a6f
add esp, 4
mov edx, dword [esp + 0x14]
push edx
call fcn.004a6995
add esp, 4
mov esi, dword [0x4d7b70]
mov eax, dword [0x4d76ec]
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov edi, eax
cmp esi, ebp
je 0x4a14f9
mov ebp, dword [esp + 0x28]
cmp dword [0x4d7b64], 0
jne 0x4a1527
mov eax, 0x800
test word [esi + 4], ax
jne 0x4a1527
movzx eax, word [esi]
push eax
shr eax, 8
push eax
call fcn.004a1a00
test al, al
je 0x4a1527
mov ecx, dword [esi + 0x48]
push 0x400
push ecx
lea edx, [esp + 0x25d0]
push edx
mov bl, 1
call fcn.0046aa00
mov eax, dword [esi + 0x48]
push eax
push eax
call sub.USER32.dll_CharToOemA
push ebp
push esi
call fcn.004a1fc0
test eax, eax
jne 0x4a152e
test bl, bl
je 0x4a14ba
mov edx, dword [esi + 0x48]
lea ecx, [esp + 0x25c8]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4a14b0
mov eax, dword [esi + 0x24]
add eax, dword [esi + 0x20]
mov ecx, dword [0x4d76ec]
add eax, dword [esi + 0x18]
cmp byte [esp + 0x14], 0
lea edx, [ecx + eax + 0x2e]
mov dword [0x4d76ec], edx
jne 0x4a14df
call fcn.004470b0
mov esi, dword [esi + 0x58]
inc dword [esp + 0x14]
test esi, esi
jne 0x4a1439
mov ebx, dword [esp + 0x14]
mov eax, dword [0x4d76ec]
xor ebp, ebp
mov esi, dword [esp + 0x28]
mov edx, dword [0x4d7b74]
mov ecx, dword [0x4d76f4]
push esi
push edx
push ecx
push edi
sub eax, edi
push eax
push ebx
call fcn.004a2280
cmp eax, ebp
je 0x4a153b
mov edx, dword [0x51ecd4]
push edx
push eax
jmp 0x4a0540
xor bl, bl
jmp 0x4a148c
mov ecx, dword [0x51ecd4]
push ecx
push eax
jmp 0x4a0540
push esi
mov dword [0x51eccc], ebp
call fcn.004a6995
add esp, 4
test eax, eax
je 0x4a155b
mov eax, dword [0x51ecd4]
push eax
push 0xa
jmp 0x4a0540
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x4a156c
push eax
call fcn.004a6995
add esp, 4
call fcn.00421d60
cmp byte [0x4eac4c], 0
je 0x4a1680
mov ecx, dword [0x51ecd0]
mov edx, dword [0x51ecd4]
push ecx
push edx
call fcn.00431a60
mov edx, dword [0x51ecd4]
push edx
call fcn.004a4a6f
mov eax, dword [0x51ecd0]
add esp, 4
mov dword [0x51ecd4], ebp
cmp eax, ebp
je 0x4a15b8
push eax
call fcn.004a4a6f
add esp, 4
mov dword [0x51ecd0], ebp
cmp ebx, ebp
jne 0x4a15d4
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
push ecx
call fcn.00431a60
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x4a15f4
cmp eax, 0xffffffff
je 0x4a15f4
mov edx, dword [0x4d7704]
push eax
mov eax, dword [0x4d7708]
push edx
push eax
call fcn.00431880
cmp byte [0x4f65e0], 0
je 0x4a1640
mov esi, dword [0x4d7b70]
cmp esi, ebp
je 0x4a1640
mov edi, 1
lea esp, [esp]
cmp dword [esi + 0x50], edi
je 0x4a161a
cmp dword [esi + 0x54], ebp
je 0x4a1639
mov ecx, dword [esi + 0x38]
push ecx
call fcn.004a0080
cmp eax, 0xffffffff
je 0x4a1639
test al, 0x20
je 0x4a1639
mov edx, dword [esi + 0x38]
and eax, 0xffffffdf
push eax
push edx
call fcn.004a0110
mov esi, dword [esi + 0x58]
cmp esi, ebp
jne 0x4a1610
mov eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
and eax, 0x12
push eax
lea ecx, [esp + 0xd2c]
call fcn.004a01b0
mov ecx, dword [esp + 0x2dcc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2db4]
xor ecx, esp
call fcn.004a48d3
add esp, 0x2dc4
ret
cmp dword [0x4d7b64], ebp
je 0x4a17c6
mov eax, dword [str.rebuilt.]
mov ecx, dword [0x4bde7c]
mov dl, byte [0x4bde80]
mov dword [esp + 0x21c8], eax
mov eax, dword [0x4d7708]
push eax
mov dword [esp + 0x21d0], ecx
mov byte [esp + 0x21d4], dl
call fcn.00451bb0
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a16c0
lea edi, [esp + 0x21c8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a16d1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [esp + 0x21cc]
push ecx
call fcn.00452c50
push ebp
lea edx, [esp + 0x21cc]
push edx
call fcn.00431770
test al, al
je 0x4a1748
push ebp
push ebp
push 0x7fffffff
push 0x7fffffff
push ebp
lea eax, [esp + 0x21dc]
push eax
call fcn.0040af70
cmp al, 0x4e
je 0x4a17a7
cmp al, 0x43
je 0x4a17a7
push ebp
push ebp
lea ecx, [esp + 0x21d0]
push ecx
call fcn.00431880
lea edx, [esp + 0x21c8]
push edx
call fcn.00432a40
cmp byte [esp + 0x21c8], 0
je 0x4a1591
mov eax, dword [0x51ecd4]
push ebp
lea edx, [esp + 0x21cc]
push edx
push ebp
push eax
call fcn.00431980
test al, al
jne 0x4a1591
lea ecx, [esp + 0x21c8]
push ecx
call fcn.0046abc0
mov edx, dword [0x51ecd4]
push eax
push edx
call fcn.0046abc0
push eax
push 0x207
call fcn.004611c0
push eax
push ebp
call fcn.00493840
add esp, 0x10
jmp 0x4a1591
mov eax, dword [0x51ecd0]
mov ecx, dword [0x51ecd4]
push eax
push ecx
call fcn.00431a60
mov byte [esp + 0x21c8], 0
jmp 0x4a1591
mov eax, dword [0x51ecd4]
mov ecx, dword [0x4d7704]
mov edx, dword [0x4d7708]
push eax
push ecx
push edx
call fcn.004338a0
mov esi, eax
cmp esi, ebp
je 0x4a1591
mov eax, dword [0x4d7704]
mov ecx, dword [0x51ecd4]
push eax
push ecx
call fcn.0046abc0
push eax
push 0x207
call fcn.004611c0
push eax
push ebp
call fcn.00493840
mov edx, dword [0x4d7708]
add esp, 0x10
push ebp
push edx
mov ecx, 0x4d76b4
call fcn.004297b0
cmp esi, 0xf
jne 0x4a184f
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
push ecx
call fcn.00431770
test al, al
je 0x4a184f
mov edx, dword [0x51ecd0]
mov eax, dword [0x51ecd4]
push edx
push eax
call fcn.00431a60
mov ecx, dword [0x51ecd4]
push ecx
call fcn.004a4a6f
mov eax, dword [0x51ecd0]
add esp, 4
mov dword [0x51ecd4], ebp
cmp eax, ebp
je 0x4a1876
push eax
call fcn.004a4a6f
add esp, 4
push 0x4baa2e
mov dword [0x51ecd0], ebp
push esi
jmp 0x4a0540