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

Disassembly:
push 0xffffffffffffffff
push 0x4b8fc6
mov eax, dword fs:[0]
push eax
mov eax, 0x2db8
call fcn.004a5370
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.00435e20
mov eax, dword [0x4f65f8]
movsx eax, byte [eax + 0x4cc34c]
mov cl, byte [0x4f804c]
xor ebp, ebp
mov dword [0x4caddc], eax
neg eax
sbb eax, eax
mov dword [0x4cadd8], eax
mov al, byte [0x4f804b]
mov dword [0x51c970], ebp
mov dword [0x51c974], ebp
mov dword [0x51c95c], ebp
mov dword [0x51c958], ebp
mov dword [0x4d76e8], ebp
mov dword [0x4d7b78], ebp
mov dword [0x4cade0], 0x4d7b78
mov dword [0x4d7708], ebp
mov dword [0x4d7704], ebp
mov dword [0x51c954], ebp
mov dword [0x51c950], ebp
cmp al, 0x52
jne 0x4a0773
mov dword [0x4d7b64], 3
test cl, cl
je 0x4a0779
mov dword [0x4d7b64], ebp
xor edx, edx
cmp al, 0x53
sete dl
mov dword [0x4d7b6c], edx
cmp al, 0x52
jne 0x4a0799
mov dword [0x4d7b68], 1
cmp cl, 0x4e
je 0x4a079f
mov dword [0x4d7b68], ebp
cmp byte [0x4f8c7c], 0
je 0x4a094d
push 0x4f8c7c
call fcn.004a1e80
mov dword [0x4d7708], eax
cmp eax, ebp
jne 0x4a07d5
mov ecx, 0x4d76b4
call fcn.00428df0
push 0x4baa2e
push 4
call fcn.004a0140
cmp word [0x4f907c], bp
je 0x4a07f6
push 0x4f907c
call fcn.004a1f00
mov dword [0x4d7704], eax
cmp eax, ebp
je 0x4a07bf
mov eax, dword [0x4d7708]
cmp byte [0x4f6653], 0
je 0x4a082e
push eax
call fcn.004519d0
test al, al
je 0x4a082e
movsx eax, byte [0x4f804b]
push eax
push 0x4bb070
call fcn.004a4910
add esp, 8
test eax, eax
je 0x4a082e
mov ecx, dword [0x4d7708]
push ecx
call fcn.00432ce0
cmp dword [0x4d7b64], ebp
je 0x4a08cb
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4bde54]
mov word [esp + eax + 0x25c8], cx
add eax, 2
cmp cx, bp
jne 0x4a0840
mov edx, dword [0x4d7704]
push edx
call fcn.00451c20
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4a0865
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 0x4a0880
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.00461310
push eax
lea ecx, [esp + 0x48]
push ecx
mov edx, 0x4c8
call fcn.0049c820
add esp, 0xc
lea edx, [esp + 0x40]
push edx
call fcn.00486150
call fcn.004a3440
mov esi, eax
cmp esi, ebp
je 0x4a0948
lea eax, [esi - 2]
cmp eax, 9
ja case.0x4a08e5.5
movzx eax, byte [eax + 0x4a1b30]
jmp dword [eax*4 + 0x4a1b20]
push 0x2ad
call fcn.00461310
mov ecx, dword [0x4d7704]
push eax
push ecx
call fcn.00493aa0
mov eax, dword [0x4d7708]
add esp, 8
push eax
push esi
jmp 0x4a07d0
mov ecx, 0x4d76b4
call fcn.00428df0
mov eax, dword [0x4d7708]
push eax
push esi
jmp 0x4a07d0
mov edx, dword [0x4d7708]
push ebp
push edx
push ebp
push ebp
mov ecx, 0x4d76b4
call fcn.004295b0
mov eax, dword [0x4d7708]
push eax
push esi
jmp 0x4a07d0
mov al, byte [0x4f804b]
cmp al, 0x44
jne 0x4a096f
call fcn.0047c9d0
cmp eax, ebp
je 0x4a096a
cmp eax, 0xffffffff
je 0x4a096a
push 0x4baa2e
push eax
jmp 0x4a07d0
mov al, byte [0x4f804b]
cmp al, 0x41
jne 0x4a0978
call fcn.0047c730
call fcn.00433240
cmp dword [0x4d76f8], ebp
je 0x4a0994
mov ecx, dword [0x4d76f0]
push ecx
call fcn.004a4cdf
add esp, 4
mov esi, dword [0x4d7b70]
mov dword [0x51c960], ebp
mov dword [0x51c964], ebp
mov dword [0x51c968], ebp
mov dword [0x51c96c], ebp
mov dword [esp + 0x1c], ebp
cmp esi, ebp
je 0x4a0b88
cmp dword [esi + 0x50], ebp
je 0x4a0b7d
mov eax, dword [esi + 0x38]
push 0x400
lea edx, [esp + 0x25cc]
push edx
push eax
call fcn.00452cd0
cmp byte [0x4f6611], 0
je 0x4a0a02
mov ecx, dword [esi + 0x38]
push ecx
call fcn.004a0310
test al, 0x20
jne 0x4a0a02
mov dword [esi + 0x50], ebp
mov dword [esi + 0x54], 1
jmp 0x4a0b7d
mov edx, dword [esi + 0x14]
add dword [0x51c968], edx
adc dword [0x51c96c], ebp
cmp byte [0x4f804b], 0x44
je 0x4a0b79
mov eax, dword [esi + 0x38]
push ebp
push ebp
push eax
call fcn.0047c500
mov edx, dword [0x51c970]
mov ecx, dword [0x51c974]
cmp eax, ebp
je 0x4a0a5c
cmp eax, edx
jb 0x4a0a5c
cmp ecx, ebp
je 0x4a0a45
cmp eax, ecx
jae 0x4a0a5c
cmp byte [0x4f6615], 0
jne 0x4a0a57
cmp byte [0x4f6614], 0
je 0x4a0a97
cmp eax, dword [esi + 8]
ja 0x4a0a97
mov dword [esi + 0x50], ebp
cmp eax, ebp
je 0x4a0a76
cmp eax, edx
jb 0x4a0a76
cmp ecx, ebp
je 0x4a0a6f
cmp eax, ecx
jae 0x4a0a76
mov eax, 1
jmp 0x4a0a78
xor eax, eax
mov dword [esi + 0x54], eax
cmp eax, ebp
je 0x4a0b7d
mov ecx, dword [esi + 0x14]
sub dword [0x51c968], ecx
sbb dword [0x51c96c], ebp
jmp 0x4a0b7d
cmp byte [0x4f804b], 0x44
je 0x4a0b79
mov eax, dword [0x4f65f4]
cmp eax, ebp
je 0x4a0b79
cmp eax, 2
sete bl
cmp eax, 4
jne case.default.0x4a0b3f
xor eax, eax
jmp 0x4a0ad0
mov cl, byte [esp + eax + 0x25c8]
mov byte [esp + eax + 0x21c8], cl
inc eax
test cl, cl
jne 0x4a0ad0
lea edx, [esp + 0x21c8]
push edx
mov edi, 2
call fcn.00451c80
movsx eax, byte [eax]
push eax
call fcn.00451690
test al, al
jne 0x4a0b37
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.0040af10
mov edx, dword [str.YNANC]
movsx ecx, al
push ecx
push edx
call fcn.004a4910
sub eax, dword [str.YNANC]
add esp, 8
inc eax
mov edi, eax
lea eax, [edi - 2]
cmp eax, 3
ja case.default.0x4a0b3f
jmp dword [eax*4 + 0x4a1b3c]
mov dword [0x4f65f4], 1
jmp case.default.0x4a0b3f
mov dword [0x4f65f4], 2
mov dword [esi + 0x50], ebp
jmp 0x4a0b7d
push 0xff
mov ecx, 0x4d76b4
call fcn.004296f0
test bl, bl
je 0x4a0b79
mov dword [esi + 0x50], ebp
jmp 0x4a0b7d
inc dword [esp + 0x1c]
mov esi, dword [esi + 0x58]
cmp esi, ebp
jne 0x4a09be
lea ecx, [esp + 0x193c]
call fcn.0046db90
lea ecx, [esp + 0x1960]
call fcn.0046db90
lea ecx, [esp + 0x1984]
call fcn.0046db90
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
mov dword [esp + 0x30], ebp
push ecx
xor ebp, ebp
call fcn.00431780
test al, al
je 0x4a0bf9
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push ebp
lea edx, [esp + 0xd2c]
push edx
push eax
push ecx
call fcn.004354a0
test al, al
je 0x4a0bf9
mov edx, dword [esp + 0x1928]
mov ebp, dword [esp + 0x192c]
mov dword [esp + 0x2c], edx
mov esi, dword [0x4d7b78]
test esi, esi
je 0x4a0d2c
jmp 0x4a0c10
mov eax, dword [esi + 0xc]
add dword [0x51c968], eax
adc dword [0x51c96c], 0
mov ecx, dword [esi]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a0c27
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 0x4a0dc9
jl 0x4a0c59
cmp dword [esp + 0x2c], 0x80000000
jae 0x4a0dc9
push 0
push 0
push ecx
call fcn.0047c500
mov ecx, dword [esi]
mov edi, eax
test edi, edi
push ecx
sete bl
call fcn.00451c80
movsx edx, byte [eax]
push edx
call fcn.00451690
cmp byte [0x4f6611], 0
mov byte [esp + 0x24], al
je 0x4a0c94
mov eax, dword [esi]
push eax
call fcn.004a0310
test al, 0x20
je 0x4a0cf5
mov al, byte [0x4f804b]
cmp al, 0x44
je 0x4a0cf5
cmp al, 0x41
jne 0x4a0caa
cmp byte [0x4f6614], 0
jne 0x4a0cf5
mov ecx, dword [esp + 0x24]
mov edx, dword [esi]
push 1
push 1
push ecx
push edx
mov ecx, 0x4f2cd0
call fcn.0041c7c0
test al, al
jne 0x4a0cf5
test bl, bl
jne 0x4a0cf9
cmp edi, dword [0x51c970]
jb 0x4a0d1c
mov eax, dword [0x51c974]
test eax, eax
je 0x4a0cdd
cmp edi, eax
jae 0x4a0d1c
mov eax, dword [0x4d7708]
mov ecx, dword [esi + 8]
push eax
push ecx
call fcn.0046a920
test eax, eax
je 0x4a0d1c
mov esi, dword [esi + 0x14]
jmp 0x4a0d24
test bl, bl
je 0x4a0d1c
mov edx, dword [esi + 8]
push edx
call fcn.0046ad90
push eax
push 0x206
call fcn.00461310
push eax
mov eax, dword [0x4d7704]
push eax
call fcn.00493aa0
add esp, 0xc
push esi
call fcn.00433160
mov esi, eax
test esi, esi
jne 0x4a0c10
cmp dword [esp + 0x1c], 0
mov eax, dword [0x4d7b70]
jne 0x4a0e3e
cmp dword [0x4d7b78], 0
jne 0x4a0e3e
cmp dword [0x4d7b68], 0
jne 0x4a0e3e
mov ecx, dword [0x4f663c]
mov edx, dword [0x4d7b64]
mov esi, dword [0x4d7b6c]
test eax, eax
je 0x4a0d91
test ecx, ecx
jne 0x4a0e3e
test edx, edx
jne 0x4a0e98
test esi, esi
jne 0x4a0e47
cmp word [0x4f4ce0], si
jne 0x4a0e47
cmp byte [0x4f6615], 0
jne 0x4a0e37
cmp byte [0x4f6614], 0
jne 0x4a0e37
test eax, eax
jne 0x4a0def
test ecx, ecx
jne 0x4a0dbb
test edx, edx
jne 0x4a0dbb
test esi, esi
je 0x4a0def
mov edx, dword [0x4d7708]
push edx
push 0xd
jmp 0x4a07d0
push 0x3b7
call fcn.00461310
mov ecx, dword [0x4d7704]
push eax
push ecx
call fcn.00493aa0
add esp, 8
push 0x4baa2e
push 5
jmp 0x4a07d0
mov al, byte [0x4f804b]
cmp al, 0x41
jne 0x4a0e0b
push 0x340
call fcn.00461310
push eax
mov eax, dword [0x4d7704]
push eax
jmp 0x4a0e21
cmp al, 0x44
jne 0x4a0e29
push 0x345
call fcn.00461310
mov ecx, dword [0x4d7704]
push eax
push ecx
call fcn.00493aa0
add esp, 8
mov edx, dword [0x4d7708]
push edx
push 0xc
jmp 0x4a07d0
push 0
jmp 0x4a18dc
cmp dword [0x4d7b64], 0
jne 0x4a0e98
cmp byte [0x4f2ce0], 0
je 0x4a0e5c
test eax, eax
jne 0x4a0e5c
cmp dword [0x4d7700], eax
je 0x4a0e98
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
push ecx
call fcn.00431860
cmp dword [0x4d7b70], 0
mov dword [esp + 0x24], eax
jne 0x4a0ea0
cmp dword [0x4d7700], 0
jne 0x4a0ea0
mov edx, dword [0x4d7704]
mov eax, dword [0x4d7708]
push edx
push eax
call fcn.00431a70
jmp 0x4a0ea0
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.00431780
mov bl, al
cmp dword [0x4d7b70], edi
jne 0x4a0ed3
cmp dword [0x4d7700], edi
je 0x4a0f20
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push edi
push 0x4baa34
push eax
push ecx
call fcn.00431f70
mov esi, eax
mov dword [0x51c950], eax
mov dword [esp + 0x1c], esi
cmp eax, edi
jne 0x4a0f20
mov edx, dword [0x4d7704]
push edx
push 0x1f5
call fcn.00461310
push eax
call fcn.004934b0
add esp, 8
push 0x4baa2e
push 0xd
jmp 0x4a07d0
test bl, bl
je 0x4a0f31
mov eax, dword [0x4d7708]
push eax
call fcn.004336d0
jmp 0x4a0f40
mov ecx, dword [0x4d7708]
push ecx
call fcn.004b50d0
add esp, 4
mov dword [0x51c95c], eax
cmp eax, edi
je 0x4a07bf
test bl, bl
jne 0x4a0fbf
mov ecx, dword [0x4d7704]
cmp ecx, edi
je 0x4a0fbf
push ecx
call fcn.004a6c81
mov ecx, eax
add esp, 4
mov dword [0x51c958], ecx
cmp ecx, edi
je 0x4a07bf
mov eax, dword [0x51c95c]
push edi
push 0x4bae08
push ecx
push eax
call fcn.00431f70
mov dword [esp + 0x28], eax
mov dword [0x51c954], eax
cmp eax, edi
jne 0x4a0fc7
mov edx, dword [0x51c95c]
push edx
call fcn.0046ad90
push eax
push 0x1f6
call fcn.00461310
push eax
call fcn.004934b0
add esp, 8
push 0x4baa2e
push 0xa
jmp 0x4a07d0
mov ecx, dword [0x51c958]
jmp 0x4a0f79
mov ecx, dword [0x4d7700]
cmp ecx, edi
je 0x4a0ffb
push ecx
push eax
push esi
call fcn.004337b0
cmp eax, edi
je 0x4a0ff5
mov ecx, dword [0x51c95c]
cmp eax, 0xa
je 0x4a0fee
mov ecx, dword [0x4d7708]
push ecx
push eax
jmp 0x4a07d0
mov ecx, dword [0x4d7700]
mov al, byte [0x4f804b]
mov dword [0x4d76ec], ecx
mov dword [esp + 0x2c], edi
cmp al, 0x41
jne 0x4a1032
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.00409cb0
mov al, byte [0x4f804b]
mov esi, dword [0x4d7b70]
mov dword [esp + 0x14], 0x4d7b70
cmp esi, edi
je 0x4a13b1
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x4a1057
mov al, byte [0x4f804b]
mov ebx, 1
cmp dword [esi + 0x50], ebx
jne 0x4a1160
cmp al, 0x41
jne 0x4a10dd
mov ecx, dword [esi + 0x4c]
push 0
push 0
push ebx
push 0
push ecx
call fcn.00409ce0
push ebp
push esi
call fcn.004a4200
test eax, eax
je 0x4a1092
cmp eax, 0x12
je 0x4a10a0
cmp eax, 0xffffffff
jne 0x4a145d
cmp eax, 0x12
je 0x4a10a0
cmp eax, 0xffffffff
jne 0x4a13a0
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.00429460
mov edx, dword [esp + 0x1c]
push ebp
push edx
push esi
call fcn.004a2650
test eax, eax
jne 0x4a095f
mov dword [esi + 0x50], eax
jmp 0x4a13a0
cmp byte [0x4eac4c], 0
jne 0x4a13b1
mov eax, dword [esi + 0x4c]
push 0
push 0
push eax
call fcn.0040aac0
mov ecx, dword [esi + 0x48]
mov ebx, dword [esi + 0x58]
push ecx
call fcn.004a4cdf
mov edx, dword [esi + 0x4c]
push edx
call fcn.004a4cdf
add esp, 8
cmp dword [esi + 0x1c], 0
je 0x4a1121
mov eax, dword [esi + 0x3c]
push eax
call fcn.004a4cdf
add esp, 4
cmp dword [esi + 0x20], 0
je 0x4a1138
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x3c]
je 0x4a1138
push eax
call fcn.004a4cdf
add esp, 4
cmp dword [esi + 0x24], 0
je 0x4a114a
mov ecx, dword [esi + 0x44]
push ecx
call fcn.004a4cdf
add esp, 4
push esi
call fcn.004a4cdf
add esp, 4
mov dword [edi], ebx
dec dword [0x4d76f8]
jmp 0x4a13a7
cmp byte [0x4eac4c], 0
jne 0x4a13b1
cmp al, 0x44
jne 0x4a117d
mov edx, dword [esi + 0x4c]
push ebx
push 0
push edx
call fcn.0040aac0
cmp dword [0x4d7b68], 0
mov edi, dword [0x4d7b64]
je 0x4a1386
lea ecx, [esp + 0x40]
call fcn.004021a0
mov dword [esp + 0x2dd4], 0
push 0xce8
lea eax, [esp + 0x44]
push 0
push eax
call fcn.004a53a0
mov ecx, dword [esi + 0x48]
add esp, 0xc
push ecx
call fcn.00451c80
movsx edx, byte [eax]
push edx
call fcn.00451690
mov ecx, dword [esi + 0x48]
mov byte [esp + 0x22], al
push 0x3ff
lea eax, [esp + 0x74]
push eax
push ecx
call fcn.00452cd0
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 0x4a1233
test dl, dl
je 0x4a122f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4a1233
add eax, 2
add ecx, 2
test dl, dl
jne 0x4a1213
xor eax, eax
jmp 0x4a1238
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 0x4a1264
movzx eax, word [esi]
push eax
shr eax, 8
push eax
call fcn.004a1c90
test al, al
je 0x4a1264
mov byte [esp + 0x1b], 1
jmp 0x4a12bb
mov byte [esp + 0x1b], 0
test bl, bl
je 0x4a12bb
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.004733c0
push 0x3ff
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x478]
xor eax, eax
push edx
mov word [esp + 0xc7a], ax
call fcn.004731f0
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 0x4a12d7
test bl, bl
je 0x4a1372
lea edx, [esp + 0x40]
push edx
push 0x4f2cd0
call fcn.004545b0
test al, al
je 0x4a1372
cmp byte [esp + 0x22], 0
je 0x4a12ff
lea eax, [esp + 0x70]
push eax
call fcn.004520e0
push 0x400
push 0
lea ecx, [esp + 0x78]
push ecx
call fcn.00452d60
lea edx, [esp + 0x70]
test bl, bl
je 0x4a1335
push 0x400
push edx
lea eax, [esp + 0x478]
push eax
call fcn.00473300
mov byte [esp + 0x46f], 0
jmp 0x4a1340
lea ecx, [esp + 0x70]
push ecx
push edx
call sub.USER32.dll_OemToCharA
cmp byte [esp + 0x1b], 0
je 0x4a134f
mov eax, 0xb17
mov word [esi], ax
mov ecx, dword [esi + 0x48]
push ecx
call fcn.004a4cdf
lea edx, [esp + 0x74]
push edx
call fcn.004b50d0
mov dword [esi + 0x48], eax
add esp, 8
mov dword [0x4d7b64], 3
mov dword [esp + 0x2dd4], 0xffffffff
lea ecx, [esp + 0x40]
call fcn.004017a0
mov eax, dword [esp + 0x1c]
push ebp
push eax
push esi
call fcn.004a2650
mov dword [0x4d7b64], edi
test eax, eax
jne 0x4a095f
lea edi, [esi + 0x58]
mov dword [esp + 0x14], edi
mov esi, dword [edi]
test esi, esi
jne 0x4a1052
mov edi, dword [0x4d7b78]
test edi, edi
je 0x4a14cd
xor ebx, ebx
cmp byte [0x4eac4c], 0
jne 0x4a14cd
push 0x5c
call fcn.004a4c1c
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4a07bf
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.00409ce0
mov edx, dword [esp + 0x28]
push edx
push esi
call fcn.004a4200
cmp eax, ebx
je 0x4a1441
cmp eax, 0x12
je 0x4a1475
cmp eax, 0xffffffff
jne 0x4a1531
cmp eax, 0x12
je 0x4a1475
cmp eax, 0xffffffff
je 0x4a1475
mov eax, dword [esp + 0x14]
mov dword [eax], esi
inc dword [0x4d76f8]
mov dword [esp + 0x14], ebp
jmp 0x4a14bd
cmp byte [0x4eac4c], 0
jne 0x4a13b1
push 0x4baa2e
push eax
jmp 0x4a07d0
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.00429460
mov ecx, dword [esi + 0x38]
push ecx
call fcn.004a4cdf
mov edx, dword [esi + 0x48]
push edx
call fcn.004a4cdf
mov eax, dword [esi + 0x4c]
push eax
call fcn.004a4cdf
push esi
call fcn.004a4cdf
add esp, 0x10
push edi
call fcn.00433160
mov edi, eax
cmp edi, ebx
jne 0x4a13c1
cmp word [0x4f4ce0], 0
je 0x4a16a8
cmp dword [0x4d7b64], 0
jne 0x4a16a8
push 0
push 0x4baa34
push 0x4f4ce0
call fcn.00432070
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
jne 0x4a1545
mov ecx, dword [0x4d7704]
mov edx, dword [0x4d7708]
push 0x4f4ce0
push 0x4f48e0
push ecx
push edx
mov ecx, 0x4d76b4
call fcn.00429460
push 0x4baa2e
push 0x12
jmp 0x4a07d0
cmp byte [0x4eac4c], 0
jne 0x4a14cd
push 0x4d7710
push eax
jmp 0x4a07d0
cmp dword [0x4d76f4], 0
je 0x4a155c
mov eax, dword [0x4d7b74]
push eax
call fcn.004a4cdf
add esp, 4
push 0x8000
call fcn.004a4c1c
add esp, 4
mov dword [0x4d7b74], eax
test eax, eax
je 0x4a07bf
push esi
push 0x7fff
push 1
push eax
call fcn.004a6862
mov ecx, dword [0x4d7b74]
mov dword [0x4d76f4], eax
add esp, 0x10
mov byte [ecx + eax], 0
cmp dword [0x4f54e0], 2
jne 0x4a15ac
mov eax, dword [0x4d7b74]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
cmp dword [0x4f54e0], 3
jne 0x4a169b
mov ebp, dword [0x4d7b74]
mov al, byte [ebp]
cmp al, 0xff
jne 0x4a15d3
cmp byte [ebp + 1], 0xfe
jne 0x4a15d3
mov edi, 1
jmp 0x4a15d5
xor edi, edi
cmp al, 0xfe
jne 0x4a15e6
cmp byte [ebp + 1], 0xff
jne 0x4a15e6
mov ebx, 1
jmp 0x4a15e8
xor ebx, ebx
mov edx, dword [0x4d76f4]
inc edx
push edx
lea ecx, [esp + 0x38]
call fcn.0040b5f0
mov dword [esp + 0x2dd4], 1
xor edx, edx
lea ecx, [edx + 2]
test edi, edi
jne 0x4a1616
test ebx, ebx
jne 0x4a1616
lea edi, [edx + 1]
xor ecx, ecx
mov esi, dword [esp + 0x34]
cmp ecx, dword [0x4d76f4]
jae 0x4a1658
lea eax, [ecx + ebx]
add eax, ebp
sub edi, ebx
lea esp, [esp]
movzx bx, byte [edi + eax]
mov ebp, 0x100
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 0x4a1630
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.004731f0
mov eax, dword [0x4d76f4]
mov ecx, dword [0x4d7b74]
mov byte [ecx + eax - 1], 0
mov dword [esp + 0x2dd4], 0xffffffff
test esi, esi
je 0x4a169b
push esi
call fcn.004a4cdf
add esp, 4
mov edx, dword [esp + 0x14]
push edx
call fcn.004a6c05
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 0x4a1789
mov ebp, dword [esp + 0x28]
cmp dword [0x4d7b64], 0
jne 0x4a17b7
mov eax, 0x800
test word [esi + 4], ax
jne 0x4a17b7
movzx eax, word [esi]
push eax
shr eax, 8
push eax
call fcn.004a1c90
test al, al
je 0x4a17b7
mov ecx, dword [esi + 0x48]
push 0x400
push ecx
lea edx, [esp + 0x25d0]
push edx
mov bl, 1
call fcn.0046abd0
mov eax, dword [esi + 0x48]
push eax
push eax
call sub.USER32.dll_CharToOemA
push ebp
push esi
call fcn.004a2250
test eax, eax
jne 0x4a17be
test bl, bl
je 0x4a174a
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 0x4a1740
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 0x4a176f
call fcn.00447110
mov esi, dword [esi + 0x58]
inc dword [esp + 0x14]
test esi, esi
jne 0x4a16c9
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.004a2510
cmp eax, ebp
je 0x4a17cb
mov edx, dword [0x51c95c]
push edx
push eax
jmp 0x4a07d0
xor bl, bl
jmp 0x4a171c
mov ecx, dword [0x51c95c]
push ecx
push eax
jmp 0x4a07d0
push esi
mov dword [0x51c954], ebp
call fcn.004a6c05
add esp, 4
test eax, eax
je 0x4a17eb
mov eax, dword [0x51c95c]
push eax
push 0xa
jmp 0x4a07d0
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x4a17fc
push eax
call fcn.004a6c05
add esp, 4
call fcn.00421d70
cmp byte [0x4eac4c], 0
je 0x4a1910
mov ecx, dword [0x51c958]
mov edx, dword [0x51c95c]
push ecx
push edx
call fcn.00431a70
mov edx, dword [0x51c95c]
push edx
call fcn.004a4cdf
mov eax, dword [0x51c958]
add esp, 4
mov dword [0x51c95c], ebp
cmp eax, ebp
je 0x4a1848
push eax
call fcn.004a4cdf
add esp, 4
mov dword [0x51c958], ebp
cmp ebx, ebp
jne 0x4a1864
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
push ecx
call fcn.00431a70
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x4a1884
cmp eax, 0xffffffff
je 0x4a1884
mov edx, dword [0x4d7704]
push eax
mov eax, dword [0x4d7708]
push edx
push eax
call fcn.00431890
cmp byte [0x4f6610], 0
je 0x4a18d0
mov esi, dword [0x4d7b70]
cmp esi, ebp
je 0x4a18d0
mov edi, 1
lea esp, [esp]
cmp dword [esi + 0x50], edi
je 0x4a18aa
cmp dword [esi + 0x54], ebp
je 0x4a18c9
mov ecx, dword [esi + 0x38]
push ecx
call fcn.004a0310
cmp eax, 0xffffffff
je 0x4a18c9
test al, 0x20
je 0x4a18c9
mov edx, dword [esi + 0x38]
and eax, 0xffffffdf
push eax
push edx
call fcn.004a03a0
mov esi, dword [esi + 0x58]
cmp esi, ebp
jne 0x4a18a0
mov eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
and eax, 0x12
push eax
lea ecx, [esp + 0xd2c]
call fcn.004a0440
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.004a4b43
add esp, 0x2dc4
ret
cmp dword [0x4d7b64], ebp
je 0x4a1a56
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.00451ba0
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a1950
lea edi, [esp + 0x21c8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a1961
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.00452c40
push ebp
lea edx, [esp + 0x21cc]
push edx
call fcn.00431780
test al, al
je 0x4a19d8
push ebp
push ebp
push 0x7fffffff
push 0x7fffffff
push ebp
lea eax, [esp + 0x21dc]
push eax
call fcn.0040af10
cmp al, 0x4e
je 0x4a1a37
cmp al, 0x43
je 0x4a1a37
push ebp
push ebp
lea ecx, [esp + 0x21d0]
push ecx
call fcn.00431890
lea edx, [esp + 0x21c8]
push edx
call fcn.00432a50
cmp byte [esp + 0x21c8], 0
je 0x4a1821
mov eax, dword [0x51c95c]
push ebp
lea edx, [esp + 0x21cc]
push edx
push ebp
push eax
call fcn.00431990
test al, al
jne 0x4a1821
lea ecx, [esp + 0x21c8]
push ecx
call fcn.0046ad90
mov edx, dword [0x51c95c]
push eax
push edx
call fcn.0046ad90
push eax
push 0x207
call fcn.00461310
push eax
push ebp
call fcn.00493aa0
add esp, 0x10
jmp 0x4a1821
mov eax, dword [0x51c958]
mov ecx, dword [0x51c95c]
push eax
push ecx
call fcn.00431a70
mov byte [esp + 0x21c8], 0
jmp 0x4a1821
mov eax, dword [0x51c95c]
mov ecx, dword [0x4d7704]
mov edx, dword [0x4d7708]
push eax
push ecx
push edx
call fcn.004338b0
mov esi, eax
cmp esi, ebp
je 0x4a1821
mov eax, dword [0x4d7708]
push eax
call fcn.0046ad90
mov ecx, dword [0x51c95c]
push eax
push ecx
call fcn.0046ad90
push eax
push 0x207
call fcn.00461310
push eax
push ebp
call fcn.00493aa0
mov edx, dword [0x4d7708]
add esp, 0x10
push ebp
push edx
mov ecx, 0x4d76b4
call fcn.004297c0
cmp esi, 0xf
jne 0x4a1ae5
mov eax, dword [0x4d7704]
mov ecx, dword [0x4d7708]
push eax
push ecx
call fcn.00431780
test al, al
je 0x4a1ae5
mov edx, dword [0x51c958]
mov eax, dword [0x51c95c]
push edx
push eax
call fcn.00431a70
mov ecx, dword [0x51c95c]
push ecx
call fcn.004a4cdf
mov eax, dword [0x51c958]
add esp, 4
mov dword [0x51c95c], ebp
cmp eax, ebp
je 0x4a1b0c
push eax
call fcn.004a4cdf
add esp, 4
push 0x4baa2e
mov dword [0x51c958], ebp
push esi
jmp 0x4a07d0