Function at 0x4a9bc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov al, byte [0x694dac]
sub esp, 0xf0
push ebx
mov ebx, 1
push ebp
push esi
test bl, al
push edi
jne 0x4a9c0a
or al, bl
push ecx
mov byte [0x694dac], al
mov eax, esp
push ecx
mov ecx, esp
push 0xffffff
mov dword [eax], ebx
call fcn.00410600
push 2
mov ecx, 0x694da0
call fcn.0041ae00
push 0x4aaaf0
call fcn.0053228e
add esp, 4
mov al, byte [0x694dac]
test al, 2
jne 0x4a9c48
or al, 2
push ecx
mov byte [0x694dac], al
mov eax, esp
push ecx
mov ecx, esp
push 0xffffff
mov dword [eax], 0xffffff
call fcn.00410600
push ebx
mov ecx, 0x694d90
call fcn.0041ae00
push 0x4aaae0
call fcn.0053228e
add esp, 4
mov al, byte [0x694dac]
test al, 4
jne 0x4a9c86
or al, 4
push ecx
mov byte [0x694dac], al
mov eax, esp
push ecx
mov ecx, esp
push 0xffffff
mov dword [eax], 0xffffff
call fcn.00410600
push ebx
mov ecx, 0x694d80
call fcn.0041ae00
push 0x4aaad0
call fcn.0053228e
add esp, 4
mov cl, byte [0x694dac]
mov al, 8
test al, cl
jne 0x4aa3ca
mov dl, cl
or dl, al
mov eax, dword [0x67a8d8]
cmp eax, 0x18
mov byte [0x694dac], dl
mov ecx, eax
jl 0x4a9cb1
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cb8], edx
jl 0x4a9cd5
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cbc], edx
jl 0x4a9cf9
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cc0], edx
jl 0x4a9d1d
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cc4], edx
jl 0x4a9d41
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cc8], edx
jl 0x4a9d65
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694ccc], edx
jl 0x4a9d89
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cd0], edx
jl 0x4a9dad
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cd4], edx
jl 0x4a9dd1
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cd8], edx
jl 0x4a9df5
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cdc], edx
jl 0x4a9e19
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694ce0], edx
jl 0x4a9e3d
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694ce4], edx
jl 0x4a9e61
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694ce8], edx
jl 0x4a9e85
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cec], edx
jl 0x4a9ea9
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cf0], edx
jl 0x4a9ecd
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xf720
add edx, 0x7e0
cmp eax, 0x18
mov dword [0x694cf4], edx
jl 0x4a9ef4
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cf8], edx
jl 0x4a9f18
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694cfc], edx
jl 0x4a9f3c
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d00], edx
jl 0x4a9f60
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xfe0800
add edx, 0xf800
cmp eax, 0x18
mov dword [0x694d04], edx
jl 0x4a9f87
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d08], edx
jl 0x4a9fab
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xf720
add edx, 0x7e0
cmp eax, 0x18
mov dword [0x694d0c], edx
jl 0x4a9fd2
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d10], edx
jl 0x4a9ff6
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xfe0800
add edx, 0xf800
cmp eax, 0x18
mov dword [0x694d14], edx
jl 0x4aa01d
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d18], edx
jl 0x4aa041
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d1c], edx
jl 0x4aa065
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d20], edx
jl 0x4aa089
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d24], edx
jl 0x4aa0ad
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d28], edx
jl 0x4aa0d1
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d2c], edx
jl 0x4aa0f5
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d30], edx
jl 0x4aa119
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d34], edx
jl 0x4aa13d
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d38], edx
jl 0x4aa161
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d3c], edx
jl 0x4aa185
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d40], edx
jl 0x4aa1a9
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d44], edx
jl 0x4aa1cd
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d48], edx
jl 0x4aa1f1
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d4c], edx
jl 0x4aa215
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d50], edx
jl 0x4aa239
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d54], edx
jl 0x4aa25d
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xfe0800
add edx, 0xf800
cmp eax, 0x18
mov dword [0x694d58], edx
jl 0x4aa284
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d5c], edx
jl 0x4aa2a8
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d60], edx
jl 0x4aa2cc
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d64], edx
jl 0x4aa2f0
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xf720
add edx, 0x7e0
cmp eax, 0x18
mov dword [0x694d68], edx
jl 0x4aa317
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d6c], edx
jl 0x4aa33b
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d70], edx
jl 0x4aa35f
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
mov ecx, eax
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d74], edx
jl 0x4aa383
mov ecx, 0x18
xor edx, edx
cmp ecx, 0x18
setl dl
dec edx
and edx, 0xe0
add edx, 0x1f
cmp eax, 0x18
mov dword [0x694d78], edx
jl 0x4aa3a5
mov eax, 0x18
xor ecx, ecx
cmp eax, 0x18
setl cl
dec ecx
push 0x4aaac0
and ecx, 0xe0
add ecx, 0x1f
mov dword [0x694d7c], ecx
call fcn.0053228e
add esp, 4
mov ebp, dword [esp + 0x104]
mov eax, 0x694da0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov eax, dword [0x5881c4]
mov edx, 0x694d80
mov ecx, 0x694d90
cmp eax, ebp
mov dword [esp + 0x74], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xe8], edx
jne 0x4aa654
cmp ebp, 6
je 0x4aa51f
cmp ebp, 0xb
jne 0x4aa532
mov edx, dword [0x5881c8]
mov eax, dword [0x588874]
cmp edx, eax
jne 0x4aa654
cmp ebp, 0x1f
jne 0x4aa55f
push 0x23bb
call fcn.00493e00
mov ecx, eax
call fcn.00490510
cmp dword [0x6950a4], eax
jne 0x4aa654
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
cmp ebp, 2
jne 0x4aa5a1
lea eax, [esp + 0x1c]
mov ecx, 0x694ff8
push eax
call fcn.004a9b40
mov ecx, dword [0x694cb4]
mov dl, byte [eax]
cmp dl, cl
jne 0x4aa654
cmp byte [eax + 1], ch
jne 0x4aa654
mov cl, byte [eax + 2]
mov al, byte [0x694cb6]
cmp cl, al
je 0x4aaaa8
jmp 0x4aa654
cmp ebp, 0x21
jne 0x4aa5ce
push 0x23ba
call fcn.00493e00
mov ecx, eax
call fcn.00490510
cmp dword [0x6950a8], eax
jne 0x4aa654
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
cmp ebp, 0x27
jne 0x4aa5f7
push 0x23bd
call fcn.00493e00
mov ecx, eax
call fcn.00490510
cmp dword [0x6950ac], eax
jne 0x4aa654
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
cmp ebp, 0x28
jne 0x4aa62e
call fcn.004b0620
mov ecx, dword [eax + 0x398]
mov eax, 0xc22e4507
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0x6950b4]
cmp eax, edx
jne 0x4aa654
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret
cmp ebp, 7
jne 0x4aaaa8
push 0x2648
call fcn.00493e00
mov ecx, eax
call fcn.00490510
cmp dword [0x6950b0], eax
je 0x4aaaa8
mov eax, dword [0x6d7478]
mov esi, dword [0x694cb0]
mov ecx, eax
sub ecx, esi
cmp ecx, 0xa
jb 0x4aaaa8
push ebp
mov dword [0x694cb0], eax
mov dword [0x5881c4], ebp
call fcn.004e2a30
mov ecx, eax
call fcn.004e3070
mov esi, eax
call fcn.004e2a30
mov edx, dword [eax + 0x508]
xor ecx, ecx
mov dword [esp + 0x20], edx
push ebp
mov eax, dword [eax + 0x50c]
mov dword [esp + 0x2d], ecx
lea edx, [esp + 0x2c]
mov word [esp + 0x31], cx
push str.__d_
push edx
mov dword [esp + 0x30], eax
mov byte [esp + 0x34], 0
mov byte [esp + 0x3b], cl
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x34]
push ecx
push 0x694ab0
push eax
call fcn.0047a370
add esp, 0x18
mov ebx, eax
test esi, esi
je 0x4aa710
mov edx, dword [esi]
lea eax, [ebx*2 + 0x694ab0]
push eax
mov ecx, esi
call dword [edx + 0x14]
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x1c], eax
call dword [edx + 0x20]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
jmp 0x4aa788
mov eax, dword [ebp*4 + 0x555fd4]
mov esi, dword [ebp*4 + 0x588108]
lea edi, [ebx*2 + 0x694ab0]
mov dword [esp + 0x1c], eax
lea ecx, [eax + eax]
mov eax, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 0x30], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x67a8d8]
mov ecx, edx
and ecx, 3
cmp eax, 0x18
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
mov edi, dword [ebp*4 + 0x694cb8]
mov dword [esp + 0x34], ecx
jge 0x4aa788
cmp eax, 0x10
jge 0x4aa788
mov eax, edi
mov edx, edi
shr eax, 8
shr edx, 3
and eax, 0xf8
and edx, 0xfc
add eax, edx
and edi, 0x1f
lea ecx, [eax + edi*8]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
mov edi, edx
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x11], eax
add ebx, ecx
xor esi, esi
mov dword [esp + 0x15], eax
cmp ebp, 6
mov byte [esp + 0x10], 0
mov byte [esp + 0x19], al
je 0x4aa97b
cmp ebp, 0xb
je 0x4aa97b
cmp ebp, 2
jne 0x4aa852
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x694ff8
call fcn.004a9b40
mov edx, dword [eax]
mov ecx, 0x694ff8
mov dword [0x694cb4], edx
call fcn.004a9b00
mov eax, dword [0x694cb4]
xor ecx, ecx
xor edx, edx
mov cl, ah
mov dl, byte [0x694cb6]
push ecx
and eax, 0xff
push edx
push eax
lea eax, [esp + 0x1c]
push str._02X__02X__01X
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x694cb4]
xor cx, cx
movzx dx, byte [0x694cb6]
mov cl, al
add esp, 0x14
mov word [esp + 0x20], cx
lea ecx, [esp + 0x20]
movzx ax, ah
push ecx
push 3
push 0x249c
mov word [esp + 0x2e], dx
mov word [esp + 0x30], ax
call fcn.00493e00
mov ecx, eax
call fcn.00490690
mov esi, 7
jmp 0x4aa99e
cmp ebp, 0x1f
jne 0x4aa872
push 0x23bb
call fcn.00493e00
mov ecx, eax
call fcn.00490510
mov dword [0x6950a4], eax
jmp 0x4aa985
cmp ebp, 0x21
jne 0x4aa8a2
push 0x23ba
call fcn.00493e00
mov ecx, eax
call fcn.00490510
mov dword [0x6950a8], eax
and eax, 0xffff
push eax
lea eax, [esp + 0x14]
push str._04x
push eax
jmp 0x4aa990
cmp ebp, 0x27
jne 0x4aa8d2
push 0x23bd
call fcn.00493e00
mov ecx, eax
call fcn.00490510
mov dword [0x6950ac], eax
and eax, 0xffff
push eax
lea ecx, [esp + 0x14]
push str._04x
push ecx
jmp 0x4aa990
cmp ebp, 7
jne 0x4aa937
push 0x2648
call fcn.00493e00
mov ecx, eax
call fcn.004905d0
test eax, eax
mov dword [0x6950b0], eax
je 0x4aa922
cmp eax, 0x73000000
je 0x4aa922
mov edx, eax
and edx, 0xffff
shr eax, 0x10
push edx
push eax
lea eax, [esp + 0x18]
push str.__04X__04X
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [0x6950b0]
add esp, 0x10
mov esi, 0xa
lea ecx, [esp + 0x10]
push ecx
push eax
push str.setErrorInfoText:errorPictBridge_x__exBuf_s
call fcn.00458ab0
add esp, 0xc
jmp 0x4aa99e
cmp ebp, 0x28
jne 0x4aa99e
call fcn.004b0620
mov ecx, dword [eax + 0x398]
mov eax, 0xc22e4507
imul ecx
add edx, ecx
lea ecx, [esp + 0x10]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push str._02d
push ecx
mov dword [0x6950b4], edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov esi, 2
jmp 0x4aa99e
mov eax, dword [0x588874]
mov dword [0x5881c8], eax
push eax
lea edx, [esp + 0x14]
push str._04d
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov esi, 4
xor eax, eax
test esi, esi
jle 0x4aa9be
lea ecx, [ebx*2 + 0x694ab0]
add ebx, esi
movsx dx, byte [esp + eax + 0x10]
mov word [ecx], dx
add ecx, 2
inc eax
cmp eax, esi
jl 0x4aa9ad
mov eax, dword [0x694db0]
mov edx, dword [esp + 0x34]
mov dword [eax + 0xc], edi
mov ecx, dword [0x694db0]
mov eax, dword [esp + ebp*4 + 0x38]
mov dword [ecx + 0x10], edx
mov ebp, dword [eax]
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
mov eax, dword [0x67a8d8]
cmp eax, 0x18
jge 0x4aaa3e
cmp eax, 0x10
jge 0x4aaa3e
mov eax, esi
mov ecx, esi
shr eax, 8
shr ecx, 3
and eax, 0xf8
and ecx, 0xfc
add eax, ecx
and esi, 0x1f
lea ecx, [eax + esi*8]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
mov esi, edx
mov eax, edi
mov edx, edi
and edi, 0x1f
shr eax, 8
shr edx, 3
and eax, 0xf8
and edx, 0xfc
add eax, edx
lea ecx, [eax + edi*8]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
mov edi, edx
call fcn.004e2a30
add eax, 0x7c
mov dword [eax], ebp
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov eax, dword [0x694db0]
mov word [eax + 0x14], bx
and ebx, 0xffff
lea esi, [eax + 0x14]
push ebx
push 0x694ab0
mov dword [esi + 4], 0x694ab0
mov byte [esi + 2], 0
call fcn.004ce2c0
add esp, 8
mov byte [esi + 3], al
call fcn.004e2a30
add eax, 0x58
mov eax, dword [eax]
mov edx, dword [eax - 0x50]
lea esi, [eax - 0x50]
mov ecx, esi
call dword [edx + 0xc]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
push esi
call fcn.004e2a30
mov ecx, eax
call fcn.004e01c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret