Function at 0x4a42c0
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6fc9e6
mov eax, dword fs:[0]
push eax
mov eax, 0x3514
call fcn.006b59e0
mov eax, dword [0x7e6410]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x3520], esi
cmp dword [ebp + 0x10], 0
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x3514], eax
mov al, byte [edi + 0x2aa4]
mov dword [ebp - 0x3500], edi
mov byte [ebp - 0x34fc], al
jg 0x4a4367
cmp byte [esi + 0x4c6], 0
je 0x4a54b3
push ecx
push 0
xor edx, edx
mov ecx, ebx
call fcn.004a3cd0
add esp, 8
test al, al
jne 0x4a4360
mov eax, dword [0x7e85a4]
mov ecx, 1
test eax, eax
cmove eax, ecx
inc dword [0x7e85a8]
mov dword [0x7e85a4], eax
jmp 0x4a54b3
mov byte [esi + 0x11b6], 0
mov eax, dword [ebx + 0x3e8c]
cmp eax, 0x74
je 0x4a4469
cmp eax, 0x76
je 0x4a4380
cmp eax, 0x79
jne 0x4a4387
mov byte [esi + 0x11b6], 1
cmp eax, 0x77
jne 0x4a43d3
cmp byte [esi + 0x11b5], 0
je 0x4a43b7
xor edx, edx
lea eax, [esi + 0x15b8]
cmp word [eax], dx
mov ecx, edi
cmovne edx, eax
lea eax, [esi + 0x11b7]
push edx
push eax
mov edx, ebx
call fcn.004b0720
add esp, 8
push 0
push dword [ebx + 0x65f4]
mov ecx, ebx
push dword [ebx + 0x65f0]
call fcn.004a5de0
mov al, 1
jmp 0x4a54b5
cmp eax, 0x7a
jne 0x4a441d
push 0x78b36c
lea ecx, [ebx + 0x4bf8]
call fcn.004a40f0
test al, al
je 0x4a43f3
mov byte [esi + 0x11b6], 1
cmp byte [esi + 0x11b5], 0
je 0x4a43b7
xor ecx, ecx
lea eax, [esi + 0x15b8]
cmp word [eax], cx
mov edx, ebx
cmovne ecx, eax
lea eax, [esi + 0x11b7]
push ecx
push eax
mov ecx, edi
call fcn.004b0770
jmp 0x4a43b4
cmp eax, 0x7b
jne 0x4a43b7
test byte [ebx + 0x4bd8], 1
je 0x4a54b3
push ecx
push 0
xor edx, edx
mov ecx, ebx
call fcn.004a3cd0
add esp, 8
test al, al
je 0x4a4341
push 0
mov byte [esi + 0x11b6], 0
mov ecx, ebx
push dword [ebx + 0x65ec]
push dword [ebx + 0x65e8]
call fcn.004a5de0
mov al, 1
jmp 0x4a54b5
cmp byte [esi + 0x11b6], 0
mov byte [esi + 0x11b5], 0
jne 0x4a54b3
cmp dword [edi + 0x20c4], 0
jne 0x4a44a4
mov eax, dword [edi + 0x42d4]
mov eax, dword [eax + 0x30]
cmp dword [esi + 0x52c], eax
jb 0x4a44a4
cmp byte [esi + 0x531], 0
jne 0x4a54b3
lea edi, [ebx + 0x3ee8]
push edi
push edi
call dword [sym.imp.USER32.dll_OemToCharA]
lea ecx, [ebp - 0x410]
sub ecx, edi
lea ebx, [ebx]
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [ecx + edi - 1], al
test al, al
jne 0x4a44c0
mov edi, dword [ebp - 0x3500]
xor eax, eax
mov word [ebp - 0x1810], ax
mov byte [ebp - 0x34fb], al
lea eax, [ebp - 0x34fb]
push ecx
push eax
lea eax, [ebx + 0x3eb8]
mov ecx, edi
push eax
call fcn.004a3a60
mov edx, eax
test edx, edx
setne al
cmp dword [edi + 0x20c0], 1
mov dword [ebp - 0x3504], eax
jne 0x4a4565
mov byte [edi + 0x1810], 0
lea ecx, [edi + 0x1810]
test al, al
je 0x4a4579
mov eax, dword [edi + 0x42d4]
mov dword [eax + 0xc], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x2c], 0
lea eax, [edx - 1]
push eax
sub esp, 8
push ecx
mov ecx, dword [edi + 0x42d4]
call fcn.004a63d0
test al, al
je 0x4a455f
lea ecx, [edi + 0x1810]
call fcn.004a8bc0
mov byte [eax], 0
mov eax, dword [ebp - 0x3504]
test al, al
je 0x4a4579
cmp byte [ebp - 0x34fb], 0
jne 0x4a4579
mov byte [esi + 0x531], 0
mov eax, 0x200
test word [ebx + 0x3ec0], ax
je 0x4a45fa
lea eax, [esi + 0x15b8]
mov byte [ebp - 0x34fa], 1
lea ecx, [ebx + 0x42e8]
mov dword [ebp - 0x3508], eax
lea edx, [ebp - 0x1810]
call fcn.004a8df0
push 0
push 0
push 0x10000000
lea eax, [ebp - 0x810]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x1810]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x4a460b
lea ecx, [ebp - 0x810]
call fcn.004a9370
test al, al
je 0x4a460b
xor ecx, ecx
mov al, byte [ebp + ecx - 0x810]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x411], al
test al, al
jne 0x4a45e3
jmp 0x4a460b
mov byte [ebp - 0x34fa], 0
mov dword [ebp - 0x3508], 0
lea edx, [ebp - 0x410]
mov ecx, edx
call fcn.004a8cd0
cmp byte [ebx + 0x3ecc], 2
ja 0x4a462e
test byte [ebx + 0x3edc], 8
jne 0x4a43cc
movzx eax, word [ebx + 0x3ec0]
test eax, 0x800
je 0x4a46ab
mov eax, dword [edi + 0x2684]
cmp eax, 1
je 0x4a46cc
cmp byte [ebp - 0x34fb], 0
jne 0x4a46cc
mov ecx, dword [ebp - 0x3504]
xor edx, edx
movzx ecx, cl
test eax, eax
push edx
cmove ecx, edx
lea edx, [ebp - 0x1810]
mov dword [ebp - 0x3504], ecx
lea ecx, [ebp - 0x410]
call fcn.004a94d0
mov ecx, dword [edi + 0x2684]
add esp, 4
dec ecx
cmp ecx, eax
jne 0x4a46a2
push 1
lea edx, [ebp - 0x1810]
lea ecx, [ebp - 0x410]
call fcn.004a94d0
add esp, 4
jmp 0x4a46cc
mov byte [ebp - 0x3504], 0
jmp 0x4a46cc
and al, 0xe0
cmp al, 0xe0
je 0x4a46cc
mov eax, dword [ebp - 0x3504]
xor ecx, ecx
cmp dword [edi + 0x2684], 1
movzx eax, al
cmovg eax, ecx
mov byte [ebp - 0x3504], al
mov ecx, ebx
call fcn.004a8770
test byte [ebx + 0x3ec0], 1
je 0x4a47ed
cmp byte [esi + 0x530], 0
je 0x4a47ed
lea edx, [esi + 0x533]
lea eax, [ebp - 0x810]
mov ecx, edx
sub eax, edx
mov edi, eax
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edi + ecx - 1], al
test al, al
jne 0x4a4700
mov al, byte [ebx + 0x3ea8]
lea ecx, [esi + 0x533]
shr al, 4
and al, 1
movzx eax, al
push eax
call fcn.004a9590
add esp, 4
lea edx, [ebp - 0x810]
lea ecx, [esi + 0x533]
call fcn.004a2f00
mov edi, dword [ebp - 0x3500]
test eax, eax
je 0x4a476d
xor edx, edx
lea ecx, [esi + 0x533]
call fcn.004adf60
test al, al
je 0x4a476d
xor eax, eax
mov word [esi + 0x934], ax
mov eax, dword [ebp - 0x3514]
mov byte [eax], 1
jmp 0x4a54b3
cmp byte [esi + 0x532], 0
jne 0x4a47d0
lea ecx, [ebp - 0xc20]
mov byte [esi + 0x532], 1
call fcn.004ae780
push ecx
lea eax, [ebx + 0x418]
mov dword [ebp - 4], 0
push eax
lea eax, [ebx + 0x17]
push eax
push edi
lea ecx, [ebp - 0xc20]
call fcn.004ae880
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc20]
test al, al
je 0x4a47cb
mov eax, dword [ebp - 0x3514]
mov byte [eax], 1
call fcn.004ae810
jmp 0x4a54b3
call fcn.004ae810
lea ecx, [ebp - 0x810]
mov eax, ecx
lea edx, [esi + 0x533]
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4a47e0
mov al, byte [ebx + 0x3ec0]
shr al, 1
and al, 1
mov byte [esi + 0x4c7], 0
mov byte [esi + 0x4c6], al
mov ecx, dword [ebx + 0x65f0]
sub ecx, dword [ebx + 0x4bc0]
mov eax, dword [ebx + 0x65f4]
sbb eax, dword [ebx + 0x4bc4]
push 0
push eax
push ecx
mov ecx, ebx
call fcn.004a5de0
mov eax, dword [ebp - 0x3504]
xor cl, cl
mov byte [ebp - 0x3518], 0
mov byte [ebp - 0x34f9], cl
cmp byte [esi + 0x530], cl
je 0x4a4868
test al, al
jne 0x4a4850
cmp byte [ebx + 0x65f9], al
je 0x4a4868
test byte [ebx + 0x3ec0], 1
mov edx, 0
movzx eax, al
cmovne eax, edx
mov dword [ebp - 0x3504], eax
mov byte [esi + 0x530], 0
test al, al
jne 0x4a4887
mov dl, byte [ebx + 0x65f9]
mov byte [ebp - 0x34f9], dl
test dl, dl
je 0x4a5481
test byte [ebx + 0x3ec0], 4
je 0x4a48a5
cmp byte [esi + 0x1134], 0
jne 0x4a48a5
mov byte [esi + 0x1db8], 1
jmp 0x4a54b3
cmp byte [edi + 0x810], 0
lea eax, [edi + 0x810]
jne 0x4a48e2
cmp word [edi + 0xc10], 0
lea ecx, [edi + 0xc10]
je 0x4a48e2
add esi, 0x11b7
push ecx
push 0x10000000
mov edx, esi
mov dword [ebp - 0x350c], esi
call fcn.004a3060
add esp, 8
jmp 0x4a4901
add esi, 0x11b7
mov ecx, eax
mov edx, esi
mov dword [ebp - 0x350c], esi
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4a48f4
cmp byte [edi + 0x2689], 0
je 0x4a496d
lea ecx, [ebx + 0x17]
call fcn.004a8bc0
mov edx, eax
mov ecx, eax
mov dword [ebp - 0x3510], ecx
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x4a4920
sub edx, ecx
lea edi, [esi - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4a4930
mov esi, dword [ebp - 0x3510]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x350c]
mov ecx, esi
call fcn.004a9010
test eax, eax
je 0x4a4960
mov byte [eax], 0
mov ecx, esi
call fcn.004a90b0
mov edi, dword [ebp - 0x3500]
lea eax, [edi + 0x1810]
mov byte [ebp - 0x3514], 0
mov esi, eax
lea edx, [ebp - 0x410]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a4985
sub esi, ecx
mov dword [ebp - 0x3510], esi
cmp esi, 1
jle 0x4a49db
movsx eax, byte [edi + esi + 0x180f]
cmp eax, 0x5c
je 0x4a49ab
cmp eax, 0x2f
jne 0x4a49db
lea ecx, [ebp - 0x410]
lea eax, [ecx + 1]
mov dword [ebp - 0x351c], eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a49c0
sub ecx, dword [ebp - 0x351c]
lea eax, [esi - 1]
cmp ecx, eax
jne 0x4a49db
dec esi
mov dword [ebp - 0x3510], esi
mov dword [ebp - 0x351c], 1
test esi, esi
jle 0x4a4a30
push esi
lea edx, [ebp - 0x410]
lea ecx, [edi + 0x1810]
call fcn.004a2fb0
add esp, 4
lea edx, [ebp - 0x410]
test eax, eax
jne 0x4a4a30
add edx, esi
cmp byte [edx], 0x5c
jne 0x4a4a16
nop
inc edx
cmp byte [edx], 0x5c
je 0x4a4a10
mov eax, dword [ebp - 0x3514]
mov ecx, 1
cmp byte [edx], 0
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x3514], eax
cmp dword [edi + 0x20c0], 5
mov al, byte [ebp - 0x34fc]
jne 0x4a4a55
cmp al, 0x58
jne 0x4a4a55
mov ecx, dword [ebp - 0x350c]
mov byte [ebp - 0x34fb], 1
mov byte [ecx], 0
jmp 0x4a4a66
mov byte [ebp - 0x34fb], 0
cmp al, 0x45
je 0x4a4a8a
mov ecx, dword [ebp - 0x350c]
cmp dword [edi + 0x20c0], 2
je 0x4a4a8a
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4a4a71
sub edx, esi
lea edi, [ecx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4a4a80
jmp 0x4a4aad
mov ecx, edx
call fcn.004a8bc0
mov edx, eax
mov esi, eax
mov al, byte [edx]
inc edx
test al, al
jne 0x4a4a95
mov edi, dword [ebp - 0x350c]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4a4aa5
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp byte [ebp - 0x34fb], 0
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x3520]
je 0x4a4aeb
cmp byte [esi + 0x11b8], 0x5f
jne 0x4a4aeb
movsx eax, byte [esi + 0x11b9]
cmp eax, 0x5c
je 0x4a4ae4
cmp eax, 0x2f
jne 0x4a4aeb
mov byte [esi + 0x11b8], 0x3a
cmp byte [ebp - 0x34fa], 0
mov ecx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, dword [ebp - 0x3500]
jne 0x4a4b37
cmp word [edi + 0xc10], 0
je 0x4a4b54
push 0x10000000
lea eax, [esi + 0x15b8]
mov dword [ebp - 0x3508], eax
lea eax, [ebp - 0x1810]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x410]
push eax
push 0
push 0
call ecx
mov ecx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp word [edi + 0xc10], 0
lea edx, [edi + 0xc10]
je 0x4a4b62
lea ecx, [esi + 0x15b8]
call fcn.004a3160
jmp 0x4a4b7d
xor eax, eax
mov word [esi + 0x15b8], ax
jmp 0x4a4cb8
push 0x10000000
lea eax, [esi + 0x15b8]
push eax
push 0xffffffffffffffff
lea eax, [edi + 0x810]
push eax
push 0
push 0
call ecx
cmp byte [edi + 0x2689], 0
je 0x4a4bed
cmp word [ebx + 0x418], 0
lea edx, [ebx + 0x418]
je 0x4a4ba3
lea ecx, [ebp - 0x1010]
call fcn.004a3160
jmp 0x4a4bbf
push 0x10000000
lea eax, [ebp - 0x1010]
push eax
push 0xffffffffffffffff
lea eax, [ebx + 0x17]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [ebp - 0x1010]
call fcn.004a8c40
mov edx, eax
lea ecx, [esi + 0x15b8]
call fcn.004a31b0
lea ecx, [esi + 0x15b8]
call fcn.004a8ff0
lea ecx, [esi + 0x15b8]
call fcn.004a90e0
mov eax, dword [ebp - 0x3510]
test eax, eax
jle 0x4a4c31
push 0x10000000
lea eax, [ebp - 0x1010]
push eax
push 0xffffffffffffffff
lea eax, [edi + 0x1810]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
lea ecx, [ebp - 0x1010]
cmp word [ebp - 0x1010], ax
je 0x4a4c31
lea ecx, [ecx + 2]
inc eax
cmp word [ecx], 0
jne 0x4a4c27
lea ecx, [ebp - 0x1810]
cmp word [ecx + eax*2], 0x5c
lea ecx, [ecx + eax*2]
jne 0x4a4c4a
add ecx, 2
cmp word [ecx], 0x5c
je 0x4a4c41
cmp byte [ebp - 0x34fb], 0
lea eax, [esi + 0x15b8]
je 0x4a4c5e
xor edx, edx
mov word [eax], dx
cmp byte [ebp - 0x34fc], 0x45
je 0x4a4c74
cmp dword [edi + 0x20c0], 2
je 0x4a4c74
mov edx, ecx
jmp 0x4a4c81
call fcn.004a8c40
mov edx, eax
lea eax, [esi + 0x15b8]
mov ecx, eax
call fcn.004a31b0
cmp byte [ebp - 0x34fb], 0
je 0x4a4cb8
cmp word [esi + 0x15ba], 0x5f
jne 0x4a4cb8
movzx eax, word [esi + 0x15bc]
cmp eax, 0x5c
je 0x4a4cac
cmp eax, 0x2f
jne 0x4a4cb8
mov eax, 0x3a
mov word [esi + 0x15ba], ax
cmp byte [ebp - 0x34f9], 0
jne 0x4a4cce
cmp byte [ebp - 0x3514], 0
jne 0x4a4cce
mov al, 1
jmp 0x4a4cd0
xor al, al
cmp byte [edi + 0x20bc], 0
mov dword [ebp - 0x3500], eax
jne 0x4a4ce8
cmp byte [edi + 0x20bd], 0
je 0x4a4d5d
mov al, byte [ebp - 0x34fc]
cmp al, 0x45
je 0x4a4cf6
cmp al, 0x58
jne 0x4a4d5d
lea ecx, [ebp - 0x34f8]
call fcn.004a3900
mov edx, dword [ebp - 0x3508]
lea eax, [ebp - 0x34f8]
push ecx
push eax
lea ecx, [esi + 0x11b7]
call fcn.004ad3a0
add esp, 8
test al, al
je 0x4a4d41
lea eax, [ebx + 0x4b00]
push eax
lea ecx, [ebp - 0x28e0]
call fcn.004ae6c0
test al, al
je 0x4a4d5d
xor dl, dl
mov dword [ebp - 0x3500], edx
jmp 0x4a4d63
mov edx, dword [ebp - 0x3500]
xor eax, eax
cmp byte [edi + 0x20bc], al
movzx edx, dl
cmovne edx, eax
mov dword [ebp - 0x3500], edx
jmp 0x4a4d63
mov edx, dword [ebp - 0x3500]
mov al, byte [ebx + 0x3ed8]
cmp al, 0xd
jb 0x4a4d71
cmp al, 0x1d
jbe 0x4a4d93
mov eax, dword [0x7e85a4]
xor dl, dl
test eax, eax
mov dword [ebp - 0x3500], edx
mov ecx, 1
cmove eax, ecx
inc dword [0x7e85a8]
mov dword [0x7e85a4], eax
lea ecx, [ebp - 0x2430]
call fcn.004a5600
mov dword [ebp - 4], 1
mov al, byte [ebx + 0x3ec0]
and al, 0xe0
cmp al, 0xe0
jne 0x4a4f97
test dl, dl
je 0x4a4f85
mov al, byte [ebp - 0x34fc]
cmp al, 0x50
je 0x4a4f85
cmp al, 0x45
je 0x4a4f85
cmp dword [edi + 0x20c0], 2
je 0x4a4f85
cmp byte [ebp - 0x34f9], 0
jne 0x4a4f85
inc dword [esi + 0x524]
cmp byte [edi + 0x21c2], 0
jne 0x4a4f85
push dword [ebx + 0x3edc]
mov edx, dword [ebp - 0x3508]
lea ecx, [esi + 0x11b7]
call fcn.004ad960
add esp, 4
test eax, eax
je 0x4a4edd
mov edx, dword [ebp - 0x3508]
lea ecx, [esi + 0x11b7]
call fcn.004adf60
mov byte [ebp - 0x34fa], al
test al, al
je 0x4a4e87
mov edx, dword [ebp - 0x3508]
lea ecx, [esi + 0x11b7]
call fcn.004ae000
cmp eax, 0xffffffff
je 0x4a4e57
test al, 0x10
jne 0x4a4e87
sub esp, 0xc
lea eax, [ebp - 0x34fa]
xor edx, edx
mov ecx, edi
push eax
push dword [edi + 0x209c]
lea eax, [esi + 0x11b7]
push dword [ebp - 0x3508]
push eax
call fcn.004b0820
add esp, 0x1c
mov byte [ebp - 0x34fa], 0
mov edx, dword [ebp - 0x3508]
push ecx
lea ecx, [esi + 0x11b7]
call fcn.004ada40
mov edx, dword [ebp - 0x3508]
lea ecx, [esi + 0x11b7]
add esp, 4
push dword [ebx + 0x3edc]
call fcn.004ad960
add esp, 4
test eax, eax
je 0x4a4edd
cmp byte [ebp - 0x34fa], 0
je 0x4a4f28
push dword [ebx + 0x3edc]
mov edx, dword [ebp - 0x3508]
lea ecx, [esi + 0x11b7]
call fcn.004ae0a0
add esp, 4
mov byte [esi + 0x11b5], 1
cmp byte [esi + 0x11b5], 0
je 0x4a4f85
cmp byte [edi + 0x2151], 0
je 0x4a4f3a
test dword [ebx + 0x3edc], 0x800
je 0x4a4f3a
call fcn.004b6dc0
test eax, eax
je 0x4a4f3a
lea edx, [esi + 0x15b8]
mov esi, dword [ebp - 0x350c]
push ecx
mov ecx, esi
call fcn.004ae320
add esp, 4
jmp 0x4a4f40
inc dword [0x7e85a8]
mov dword [0x7e85a4], 9
jmp 0x4a4ee4
mov esi, dword [ebp - 0x350c]
cmp dword [edi + 0x2694], 0
jne 0x4a4f4d
xor eax, eax
jmp 0x4a4f53
lea eax, [ebx + 0x4b60]
cmp dword [edi + 0x2690], 0
jne 0x4a4f60
xor ecx, ecx
jmp 0x4a4f66
lea ecx, [ebx + 0x4b30]
cmp dword [edi + 0x268c], 0
jne 0x4a4f73
xor edx, edx
jmp 0x4a4f79
lea edx, [ebx + 0x4b00]
push eax
push ecx
mov ecx, esi
call fcn.004adc10
add esp, 8
lea ecx, [ebp - 0x2430]
call fcn.004a5680
mov al, 1
jmp 0x4a54b5
mov al, byte [edi + 0x21c2]
test al, al
je 0x4a4fb9
mov ecx, dword [ebp - 0x3518]
test dl, dl
movzx ecx, cl
cmovne ecx, dword [ebp - 0x351c]
mov dword [ebp - 0x3518], ecx
mov cl, byte [ebp - 0x34fc]
cmp cl, 0x50
jne 0x4a4fdb
test dl, dl
je 0x4a50c5
mov dword [ebp - 0x2424], 1
jmp 0x4a50b9
cmp cl, 0x45
je 0x4a4fe9
cmp cl, 0x58
jne 0x4a50b9
test dl, dl
je 0x4a50c5
test al, al
jne 0x4a50b9
sub esp, 0xc
lea eax, [ebp - 0x34fa]
lea edx, [ebp - 0x2430]
mov ecx, edi
push eax
push dword [edi + 0x209c]
lea eax, [esi + 0x11b7]
push dword [ebp - 0x3508]
push eax
call fcn.004b0820
add esp, 0x1c
test al, al
jne 0x4a50b3
xor dl, dl
mov dword [ebp - 0x3500], edx
cmp byte [ebp - 0x34fa], dl
jne 0x4a50c5
inc dword [0x7e85a8]
lea eax, [esi + 0x11b7]
mov ecx, eax
mov dword [0x7e85a4], 9
call fcn.004a9370
test al, al
jne 0x4a50bf
lea ecx, [esi + 0x11b7]
call fcn.004a93c0
push ecx
xor edx, edx
lea ecx, [esi + 0x11b7]
call fcn.004ada40
sub esp, 8
lea eax, [ebp - 0x34fa]
lea edx, [ebp - 0x2430]
mov ecx, edi
push eax
push dword [edi + 0x209c]
lea eax, [esi + 0x11b7]
push 0
push eax
call fcn.004b0820
add esp, 0x1c
test al, al
je 0x4a50bf
mov al, 1
mov dword [ebp - 0x3500], eax
jmp 0x4a50ee
mov edx, dword [ebp - 0x3500]
test dl, dl
jne 0x4a50ee
jmp 0x4a50c5
mov edx, dword [ebp - 0x3500]
cmp byte [ebx + 0x65f9], 0
je 0x4a50e6
mov al, 1
mov byte [ebp - 0x34f9], 1
mov byte [ebp - 0x3518], 1
mov dword [ebp - 0x3500], eax
jmp 0x4a511a
test dl, dl
je 0x4a5453
cmp byte [ebp - 0x34f9], 0
jne 0x4a511a
cmp byte [ebp - 0x3518], 0
jne 0x4a5114
cmp byte [ebp - 0x34fc], 0x50
je 0x4a5114
lea ecx, [ebp - 0x2430]
call fcn.004a6140
inc dword [esi + 0x524]
inc dword [esi + 0x528]
xor eax, eax
mov dword [esi + 0x4e8], 0
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x4f0], 0
mov dword [esi + 0x4f4], 0
cmp byte [ebx + 0x65f8], al
mov dword [esi + 0x510], 0xffffffff
setne al
dec eax
mov dword [esi + 0x50c], eax
movzx eax, word [ebx + 0x3ec0]
test eax, 0x400
je 0x4a517a
lea edx, [ebx + 0x4af4]
jmp 0x4a517c
xor edx, edx
test al, 4
je 0x4a5189
movzx ecx, byte [ebx + 0x3ed8]
jmp 0x4a518b
xor ecx, ecx
push ecx
push edx
lea eax, [esi + 0x1134]
push eax
push ecx
mov ecx, esi
call fcn.004b6d80
mov eax, dword [ebx + 0x4bc0]
mov ecx, dword [ebx + 0x4bc4]
mov dword [esi + 0x20], eax
lea eax, [ebp - 0x2430]
push eax
mov dword [esi + 0x24], ecx
mov ecx, esi
push ebx
call fcn.004b6d50
mov ecx, dword [ebp - 0x3518]
mov al, byte [ebp - 0x34f9]
mov byte [esi + 0x29], cl
mov byte [esi + 0x2a], al
test cl, cl
jne 0x4a5245
cmp byte [ebx + 0x6608], cl
jne 0x4a5245
mov ecx, dword [ebx + 0x4bc0]
mov eax, dword [ebx + 0x4bc4]
mov edx, dword [ebx + 0x4bc8]
shld eax, ecx, 0xb
shl ecx, 0xb
cmp eax, dword [ebx + 0x4bcc]
jl 0x4a5245
jg 0x4a5202
cmp ecx, edx
jbe 0x4a5245
cmp dword [ebx + 0x4bcc], 0
jl 0x4a522e
jg 0x4a5215
cmp edx, 0x5f5e100
jb 0x4a522e
mov ecx, ebx
call fcn.004a6020
cmp edx, dword [ebx + 0x4bc4]
jl 0x4a5245
jg 0x4a522e
cmp eax, dword [ebx + 0x4bc0]
jbe 0x4a5245
push dword [ebx + 0x4bcc]
lea ecx, [ebp - 0x2430]
push dword [ebx + 0x4bc8]
call fcn.004a5ef0
cmp byte [edi + 0x20f8], 0
sete byte [ebp - 0x241d]
test byte [ebx + 0x3ec0], 1
jne 0x4a530c
cmp byte [ebx + 0x3ed9], 0x30
jne 0x4a5284
push dword [ebx + 0x4bcc]
mov ecx, esi
push dword [ebx + 0x4bc8]
call fcn.004a54e0
add esp, 8
jmp 0x4a530c
mov eax, dword [esi + 0x520]
mov ecx, dword [ebx + 0x4bc8]
mov edx, dword [ebx + 0x4bcc]
mov dword [eax + 0x5760], ecx
mov dword [eax + 0x5764], edx
mov byte [eax + 0x5778], 0
mov cl, byte [ebx + 0x3ed8]
cmp cl, 0xf
ja 0x4a52de
cmp dword [esi + 0x528], 1
jle 0x4a52cd
cmp byte [ebx + 0x65f9], 0
mov byte [ebp - 0x3510], 1
jne 0x4a52d4
mov byte [ebp - 0x3510], 0
push 0
push dword [ebp - 0x3510]
jmp 0x4a5301
mov al, byte [ebx + 0x3ec0]
shr al, 4
and al, 1
mov byte [ebp - 0x351c], al
movzx eax, cl
add eax, 0xfffffff1
cmp eax, 0xe
ja 0x4a530c
push eax
push dword [ebp - 0x351c]
mov ecx, dword [esi + 0x520]
call fcn.004b4610
cmp dword [ebx + 4], 0xffffffff
je 0x4a5319
mov ecx, ebx
call fcn.004a71b0
xor dl, dl
cmp byte [ebp - 0x34f9], dl
jne 0x4a5361
mov cl, byte [ebx + 0x65f8]
test cl, cl
je 0x4a533f
mov eax, dword [esi + 0x50c]
cmp eax, dword [ebx + 0x3ed0]
je 0x4a5361
test cl, cl
jne 0x4a534f
mov eax, dword [ebx + 0x3ed0]
not eax
cmp dword [esi + 0x50c], eax
je 0x4a5361
inc dword [0x7e85a8]
mov dl, 1
mov dword [0x7e85a4], 3
cmp byte [ebp - 0x3518], 0
jne 0x4a5453
mov al, byte [ebp - 0x34fc]
cmp al, 0x58
je 0x4a5380
cmp al, 0x45
jne 0x4a5453
cmp byte [edi + 0x20b8], 0
je 0x4a5390
and dword [ebx + 0x3edc], 0xffffffdf
test dl, dl
je 0x4a53ad
cmp byte [edi + 0x20f8], 0
je 0x4a5453
push dword [ebp - 0x242c]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp dword [edi + 0x2694], 0
jne 0x4a53ba
xor edx, edx
jmp 0x4a53c0
lea edx, [ebx + 0x4b60]
cmp dword [edi + 0x2690], 0
jne 0x4a53cd
xor ecx, ecx
jmp 0x4a53d3
lea ecx, [ebx + 0x4b30]
cmp dword [edi + 0x268c], 0
jne 0x4a53e0
xor eax, eax
jmp 0x4a53e6
lea eax, [ebx + 0x4b00]
push edx
push ecx
push eax
lea ecx, [ebp - 0x2430]
call fcn.004a5f70
lea ecx, [ebp - 0x2430]
call fcn.004a5a60
cmp byte [edi + 0x2151], 0
je 0x4a5432
test dword [ebx + 0x3edc], 0x800
je 0x4a5432
call fcn.004b6dc0
test eax, eax
je 0x4a5432
push ecx
lea edx, [ebp - 0x2018]
lea ecx, [ebp - 0x2419]
call fcn.004ae320
add esp, 4
push dword [ebx + 0x3edc]
lea edx, [ebp - 0x2018]
lea ecx, [ebp - 0x2419]
call fcn.004ae0a0
add esp, 4
mov byte [esi + 0x11b5], 1
lea ecx, [ebp - 0x2430]
mov dword [ebp - 4], 0xffffffff
call fcn.004a5680
mov eax, dword [ebp - 0x3504]
mov ecx, dword [ebp - 0x3500]
mov dl, byte [ebp - 0x34f9]
test al, al
je 0x4a5481
inc dword [esi + 0x52c]
cmp byte [esi + 0x4c7], 0
jne 0x4a54b3
cmp dword [ebx + 4], 0xffffffff
je 0x4a54b3
test cl, cl
jne 0x4a43cc
cmp byte [ebx + 0x65f9], cl
jne 0x4a54ab
mov ecx, ebx
call fcn.004a71b0
mov al, 1
jmp 0x4a54b5
test dl, dl
jne 0x4a43cc
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006b3266
mov esp, ebp
pop ebp
ret 0x10