Function at 0x4a4500
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x67c
mov eax, dword [0x613ad0]
xor eax, esp
mov dword [esp + 0x678], eax
mov eax, dword [esp + 0x684]
push ebx
mov ebx, dword [esp + 0x68c]
push ebp
or ebp, 0xffffffff
cmp dword [esp + 0x694], 0
push esi
mov esi, dword [esp + 0x68c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov byte [esp + 0x2a], 0
jne 0x4a4567
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x678]
xor ecx, esp
call fcn.005aac48
add esp, 0x67c
ret
mov ecx, dword [esp + 0x69c]
push 1
push ecx
push ebx
push eax
push esi
call fcn.00517e90
add esp, 0x14
test eax, eax
je 0x4a454a
cmp byte [esi + 0x58ca], 0x40
ja 0x4a454a
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov edx, dword [esi + 0x3a0]
push eax
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x140
mov dword [esi + 0x6f0], 0x140
call fcn.004e2930
mov dword [esi + 0x6ec], eax
xor eax, eax
add esp, 4
cmp dword [esi + 0x6f0], eax
jle 0x4a45e5
jmp 0x4a45d0
mov ecx, dword [esi + 0x6ec]
mov byte [eax + ecx], 0
add eax, 1
cmp eax, dword [esi + 0x6f0]
jl 0x4a45d0
push edi
xor edi, edi
cmp dword [esi + 0x3478], edi
jle 0x4a4625
mov dword [esp + 0x1c], edi
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x1c]
cmp dword [eax + edx + 0x13c], 0
je 0x4a4612
push edi
push esi
call fcn.004ad240
add esp, 8
add dword [esp + 0x1c], 0x170
add edi, 1
cmp edi, dword [esi + 0x3478]
jl 0x4a45f4
cmp byte [esp + 0x6a0], 0x46
mov ecx, dword [esi + 0x6ec]
mov byte [ecx], 1
mov edx, dword [esi + 0x3434]
mov dword [edx + 0x13c], 1
jne 0x4a46a6
mov eax, dword [esp + 0x28]
push eax
lea ebp, [esi + 0xac25]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push 0x80
push 3
push 0
push 3
push SysReAllocStringLen
push ebp
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jne 0x4a4693
push str.ReadCfmt
push 0x1c
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a871a
mov ecx, dword [esp + 0x69c]
push 0
push 0
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
xor edi, edi
cmp dword [esi + 0x5e4], edi
mov dword [esp + 0x1c], edi
jle 0x4a4798
jmp 0x4a46c0
cmp byte [esi + 0x58ca], 3
jb 0x4a4700
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x6a4]
push 4
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebx
push ebp
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a478b
mov eax, dword [esp + 0x20]
jmp 0x4a473c
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x2a0]
push eax
mov eax, dword [esp + 0x6a4]
push 1
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a478b
movzx eax, byte [esp + 0x2a0]
mov dword [esp + 0x20], eax
cmp eax, 1
jne 0x4a48bc
cmp byte [esi + 0x58ca], 0xd
jb 0x4a485f
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + edi*4]
mov eax, dword [esi + 0xd4]
add edx, 0xa
push edx
mov edx, dword [esp + 0x6a4]
push 2
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebx
push ebp
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
jne 0x4a48a3
push 0
push 8
push esi
call fcn.004e26e0
add esp, 0xc
cmp byte [esi + 0x58ca], 0x12
jb 0x4a4a34
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x13]
push edx
mov edx, dword [esp + 0x6a4]
push 1
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebx
push ebp
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a4a24
xor edi, edi
cmp dword [esi + 0x5e4], edi
jle 0x4a4a34
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x6a4]
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a4a24
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4a49c5
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x6a4]
push 4
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a4a24
mov edx, dword [esp + 0x40]
lea edi, [edi + edx - 1]
jmp 0x4a4a13
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x2f]
push eax
mov eax, dword [esp + 0x6a4]
push 1
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a478b
mov edx, dword [esi + 0x138]
movzx cx, byte [esp + 0x2f]
mov eax, dword [edx + edi*4]
mov word [eax + 0xa], cx
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + edi*4]
movzx eax, word [edx + 0xa]
push eax
push esi
call fcn.0049fcd0
jmp 0x4a49aa
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + edi*4]
cmp dword [edx + 0xc], eax
jne 0x4a478b
test eax, eax
jle 0x4a49ad
push edi
push esi
call fcn.004ad140
mov edi, eax
mov eax, dword [esp + 0x28]
add esp, 8
cmp byte [esi + 0x58ca], 0xd
mov dword [esp + 0x28], edi
jb 0x4a4924
mov edx, dword [esi + 0xd4]
push edi
lea ecx, [eax + eax]
push ecx
mov ecx, dword [esp + 0x6a8]
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a478b
jmp 0x4a4976
mov ecx, dword [esi + 0xd4]
lea edx, [esp + 0x2a0]
push edx
push eax
mov eax, dword [esp + 0x6a8]
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a478b
xor eax, eax
cmp dword [esp + 0x20], eax
jle 0x4a4976
nop
movzx cx, byte [esp + eax + 0x2a0]
mov word [edi + eax*2], cx
add eax, 1
cmp eax, dword [esp + 0x20]
jl 0x4a4960
xor edi, edi
cmp dword [esp + 0x20], edi
jle 0x4a499b
mov edi, edi
mov edx, dword [esp + 0x28]
movzx eax, word [edx + edi*2]
push eax
push esi
call fcn.0049fcd0
add edi, 1
add esp, 8
cmp edi, dword [esp + 0x20]
jl 0x4a4980
mov ecx, dword [esp + 0x1c]
push ecx
push esi
call fcn.004ad1d0
mov edi, dword [esp + 0x24]
add esp, 8
add edi, 1
cmp edi, dword [esi + 0x5e4]
mov dword [esp + 0x1c], edi
jl 0x4a46c0
jmp 0x4a4798
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + edi*4]
cmp dword [edx + 0xc], eax
jne 0x4a4a24
push edi
push esi
call fcn.004ad200
mov edx, dword [esi + 0xd4]
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [eax + eax]
push ecx
mov ecx, dword [esp + 0x6b0]
push edx
lea eax, [esp + 0x6b0]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x28
test eax, eax
je 0x4a4a24
push edi
push esi
call fcn.004ad1d0
add esp, 8
add edi, 1
cmp edi, dword [esi + 0x5e4]
jl 0x4a47e4
jmp 0x4a4a34
push str.Char_Tag_Ids
push 8
push esi
call fcn.004e26e0
add esp, 0xc
cmp byte [esi + 0x58ca], 0x17
jb 0x4a4b5c
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x13]
push edx
mov edx, dword [esp + 0x6a4]
push 1
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebx
push ebp
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a4b4c
xor edi, edi
cmp dword [esi + 0x5e4], edi
jle 0x4a4b5c
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x6a4]
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a4b4c
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4a4af0
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x6a4]
push 4
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a4b4c
mov edx, dword [esp + 0x40]
lea edi, [edi + edx - 1]
jmp 0x4a4b3b
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + edi*4]
cmp dword [edx + 0xc], eax
jne 0x4a4b4c
push edi
push esi
call fcn.004abf50
mov ecx, dword [esi + 0xd4]
push eax
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x6b0]
push ecx
lea edx, [esp + 0x6b0]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x28
test eax, eax
je 0x4a4b4c
push edi
push esi
call fcn.004ad1d0
add esp, 8
add edi, 1
cmp edi, dword [esi + 0x5e4]
jl 0x4a4a80
jmp 0x4a4b5c
push str.Char_Lead_Bytes
push 8
push esi
call fcn.004e26e0
add esp, 0xc
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [esp + 0x6a4]
push 1
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
cmp byte [esi + 0x58ca], 0xd
jb 0x4a4bc9
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x44]
push edx
mov edx, dword [esp + 0x6a4]
push 2
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebx
push ebp
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
jmp 0x4a4c0d
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x2a0]
push eax
mov eax, dword [esp + 0x6a4]
push 1
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
movzx cx, byte [esp + 0x2a0]
movzx edx, cx
mov dword [esp + 0x44], edx
mov al, byte [esp + 0x13]
cmp al, byte [esi + 0x3430]
je 0x4a4c25
cmp al, byte [esi + 0x3431]
jne 0x4a5f6e
movzx eax, word [esp + 0x44]
cmp eax, dword [esi + 0x3478]
mov dword [esi + 0x343c], eax
jle 0x4a4c42
push eax
push esi
call fcn.004a03c0
add esp, 8
mov eax, 0x140
cmp dword [esi + 0x343c], eax
jle 0x4a4c5e
cmp dword [0x622424], 0
jne 0x4a4c5e
mov dword [esi + 0x343c], eax
cmp dword [esi + 0x343c], 0
mov dword [esp + 0x1c], 0
jle 0x4a5b26
mov ebx, dword [esp + 0x6a0]
xor ebp, ebp
lea esp, [esp]
mov edi, dword [esp + 0x1c]
cmp edi, ebp
jle 0x4a4c92
push edi
push esi
call fcn.004ac1d0
add esp, 8
mov al, byte [esp + 0x13]
cmp al, byte [esi + 0x3431]
jne 0x4a4ed3
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x2a0]
push ecx
mov ecx, dword [esp + 0x18]
push 0x22
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
movzx eax, byte [esp + 0x2a0]
imul edi, edi, 0x170
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x134], eax
mov edx, dword [esi + 0x3434]
push 4
lea eax, [edi + edx + 0x2c]
push eax
lea ecx, [esp + 0x2a9]
push ecx
call fcn.004e29c0
mov edx, dword [esi + 0x3434]
push 0x1f
lea eax, [edi + edx + 8]
push eax
lea ecx, [esp + 0x2b7]
push ecx
call fcn.004e29c0
mov edx, dword [esi + 0x3434]
mov byte [edi + edx + 0x28], 0
mov eax, dword [esi + 0x3434]
add esp, 0x18
xor ebp, ebp
mov dword [edi + eax + 0x88], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x30], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x34], 0xffffff
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x38], 0x10101
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xa8], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0xac], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x64], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x70], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x78], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x14c], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x148], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x144], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x16c], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xbc], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0xc0], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0xc4], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x3c], 1
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x40], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x44], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x5c], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x48], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x4c], ebp
mov ecx, dword [esi + 0x3434]
mov word [edi + ecx + 0x160], bp
mov edx, dword [esi + 0x3434]
mov byte [edi + edx + 0x29], 1
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x58], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x100], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x104], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x108], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x10c], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x118], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x11c], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x120], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x124], ebp
mov dword [esp + 0xf0], ebp
jmp 0x4a54df
cmp dword [0x622424], ebp
mov eax, 0xdc
je 0x4a4eee
cmp byte [esi + 0x58ca], 0x19
jae 0x4a4eee
mov eax, 0xc8
mov cl, byte [esi + 0x58ca]
cmp cl, 0x1d
jae 0x4a4efc
sub eax, 0x20
cmp cl, 0x2d
jae 0x4a4f04
sub eax, 0x25
cmp cl, 0x33
jae 0x4a4f0c
sub eax, 0x1e
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x18]
push eax
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov eax, dword [esi + 0x3434]
imul edi, edi, 0x170
mov ecx, dword [esp + 0x98]
mov dword [edi + eax + 0x134], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x9c]
mov dword [edi + edx + 0x2c], eax
cmp byte [esi + 0x58ca], 0x1d
mov edx, dword [esi + 0x3434]
lea eax, [edi + edx + 8]
lea ecx, [esp + 0xa0]
jb 0x4a4f8c
lea ecx, [esp + 0x100]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esi + 0x3434]
mov dl, byte [esp + 0xbf]
mov byte [edi + ecx + 0x28], dl
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0xc4]
mov dword [edi + eax + 0x30], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0xc0]
mov dword [edi + edx + 0x88], eax
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0xc8]
mov dword [edi + ecx + 0xac], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0xcc]
mov dword [edi + eax + 0xa8], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0xd0]
mov dword [edi + edx + 0x64], eax
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0xd4]
mov dword [edi + ecx + 0x68], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0xd8]
mov dword [edi + eax + 0x34], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x158]
mov dword [edi + edx + 0x38], eax
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0xdc]
mov dword [edi + ecx + 0x144], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0xe4]
mov dword [edi + eax + 0x148], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x15c]
mov dword [edi + edx + 0x16c], eax
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0xe0]
mov dword [edi + ecx + 0xbc], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0xf4]
mov dword [edi + eax + 0xc0], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0xf8]
mov dword [edi + edx + 0xc4], eax
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0x130]
mov dword [edi + ecx + 0xf4], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x134]
mov dword [edi + eax + 0xf8], ecx
cmp byte [esi + 0x58ca], 8
jb 0x4a50f2
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0xe8]
mov dword [edi + edx + 0x3c], eax
jmp 0x4a5100
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x3c], 1
xor ebp, ebp
cmp byte [esi + 0x58ca], 8
jb 0x4a511e
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0xec]
mov dword [edi + edx + 0x40], eax
jmp 0x4a5128
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x40], ebp
cmp byte [esi + 0x58ca], 0x19
jb 0x4a5144
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0xfc]
mov dword [edi + edx + 0x44], eax
jmp 0x4a514e
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x44], ebp
cmp byte [esi + 0x58ca], 0x1b
jae 0x4a516e
mov edx, dword [esi + 0x3434]
mov ecx, dword [edi + edx + 0x2c]
lea eax, [edi + edx + 0x2c]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
mov dword [eax], ecx
cmp byte [esi + 0x58ca], 0x1c
jae 0x4a51e4
mov edx, dword [esi + 0x3434]
test byte [edi + edx + 0x134], 0x80
lea eax, [edi + edx]
je 0x4a51e4
cmp dword [eax + 0x88], 1
jne 0x4a51e4
mov ecx, dword [esi + 0x500]
mov edx, dword [eax + 0xac]
mov ebx, dword [sym.imp.KERNEL32.dll_MulDiv]
push ecx
push 0x5a0
push edx
call ebx
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xac], eax
mov edx, dword [esi + 0x500]
mov eax, dword [esi + 0x3434]
mov ecx, dword [edi + eax + 0xa8]
push edx
push 0x5a0
push ecx
call ebx
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0xa8], eax
cmp byte [esi + 0x58ca], 0x1e
jb 0x4a5200
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x120]
mov dword [edi + eax + 0x48], ecx
jmp 0x4a520a
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x48], ebp
cmp byte [esi + 0x58ca], 0x20
jb 0x4a5226
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x124]
mov dword [edi + eax + 0x4c], ecx
jmp 0x4a5230
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x4c], ebp
cmp byte [esi + 0x58ca], 0x21
jb 0x4a524c
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x128]
mov dword [edi + eax + 0x70], ecx
jmp 0x4a525a
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x70], 1
cmp byte [esi + 0x58ca], 0x29
jb 0x4a527b
mov eax, dword [esi + 0x3434]
mov cx, word [esp + 0x12c]
mov word [edi + eax + 0x160], cx
jmp 0x4a5289
mov edx, dword [esi + 0x3434]
mov word [edi + edx + 0x160], bp
cmp byte [esi + 0x58ca], 0x2a
jae 0x4a52aa
mov eax, dword [esi + 0x3434]
and dword [edi + eax + 0x134], 0xffff7fff
lea eax, [edi + eax + 0x134]
cmp byte [esi + 0x58ca], 0x2c
jb 0x4a52c6
mov ecx, dword [esi + 0x3434]
mov dl, byte [esp + 0x12e]
mov byte [edi + ecx + 0x29], dl
jmp 0x4a52d1
mov eax, dword [esi + 0x3434]
mov byte [edi + eax + 0x29], 1
cmp byte [esi + 0x58ca], 0x31
jb 0x4a52ed
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0x13c]
mov dword [edi + ecx + 0x78], edx
jmp 0x4a52f7
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x78], ebp
cmp byte [esi + 0x58ca], 0x2d
jae 0x4a5327
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xf4], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0xf8], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0xfc], ebp
cmp byte [esi + 0x58ca], 0x30
jb 0x4a5343
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0x138]
mov dword [edi + ecx + 0x58], edx
jmp 0x4a534d
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x58], ebp
cmp byte [esi + 0x58ca], 0x33
jb 0x4a53a8
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0x140]
mov dword [edi + ecx + 0x100], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x144]
mov dword [edi + eax + 0x104], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x148]
mov dword [edi + edx + 0x108], eax
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0x14c]
mov dword [edi + ecx + 0x10c], edx
jmp 0x4a53f6
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x100], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x104], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x108], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x10c], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x110], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x114], ebp
cmp byte [esi + 0x58ca], 0x37
jae 0x4a540d
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x38], 0x10101
cmp byte [esi + 0x58ca], 0x3d
jae 0x4a5423
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x16c], ebp
cmp byte [esi + 0x58ca], 0x3e
jb 0x4a547e
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x160]
mov dword [edi + edx + 0x118], eax
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0x164]
mov dword [edi + ecx + 0x11c], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x168]
mov dword [edi + eax + 0x120], ecx
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x16c]
mov dword [edi + edx + 0x124], eax
jmp 0x4a54b2
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x118], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x11c], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0x120], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x124], ebp
cmp byte [esi + 0x58ca], 0x3f
mov ebx, dword [esp + 0x6a0]
jbe 0x4a54d5
mov edx, dword [esi + 0x3434]
mov eax, dword [esp + 0x170]
mov dword [edi + edx + 0x5c], eax
jmp 0x4a54df
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x5c], ebp
mov edx, dword [esi + 0x3434]
cmp dword [edi + edx + 0x144], ebp
lea eax, [edi + edx]
jle 0x4a55a0
cmp byte [esi + 0x58ca], 0x1f
jb 0x4a55a0
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x18]
push 4
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
push eax
push ecx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov eax, dword [esp + 0x38]
xor ebp, ebp
cmp eax, ebp
jle 0x4a55a3
add eax, 1
push eax
call fcn.004e27e0
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x54], eax
mov eax, dword [esi + 0x3434]
mov ecx, dword [edi + eax + 0x54]
mov edx, dword [esp + 0x3c]
mov eax, dword [esi + 0xd4]
push ecx
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x6ac]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00517520
add esp, 0x24
test eax, eax
je 0x4a5f6e
mov ecx, dword [esi + 0x3434]
mov edx, dword [edi + ecx + 0x54]
mov eax, dword [esp + 0x38]
mov byte [eax + edx], 0
jmp 0x4a55a3
mov dword [eax + 0x54], ebp
mov ecx, dword [esi + 0x3434]
test byte [edi + ecx + 0x134], 0x80
lea eax, [edi + ecx]
je 0x4a5b0f
mov dword [eax + 0x80], ebp
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0xa4], ebp
mov eax, dword [esi + 0x3434]
mov dword [edi + eax + 0xa0], ebp
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xd4], ebp
mov eax, dword [esp + 0xf0]
cmp eax, 1
jle 0x4a5652
push eax
call fcn.004e27e0
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0xd4], eax
mov eax, dword [esi + 0x3434]
mov eax, dword [edi + eax + 0xd4]
add esp, 4
cmp eax, ebp
je 0x4a5ece
mov ecx, dword [esp + 0xf0]
mov edx, dword [esi + 0xd4]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov eax, dword [esi + 0x3434]
mov edx, dword [esi + 0xd4]
lea ecx, [edi + eax + 0xb0]
push ecx
mov ecx, dword [esp + 0x18]
push 4
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov eax, dword [esi + 0x3434]
mov edx, dword [esi + 0xd4]
lea ecx, [edi + eax + 0xb4]
push ecx
mov ecx, dword [esp + 0x18]
push 4
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
cmp byte [esi + 0x58ca], 0x1c
jae 0x4a570b
mov eax, dword [esi + 0x3434]
mov ecx, dword [edi + eax + 0xb4]
lea eax, [edi + eax + 0xb4]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
mov dword [eax], ecx
mov edx, dword [esi + 0x3434]
mov ecx, dword [edi + edx + 0xb0]
lea eax, [edi + edx + 0xb0]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
mov dword [eax], ecx
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x3c]
push edx
mov edx, dword [esp + 0x18]
push 4
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x18]
push 4
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x3c]
mov dword [edi + eax + 0x98], ecx
mov eax, dword [esp + 0x34]
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0x9c], eax
mov eax, dword [esp + 0x3c]
xor ebp, ebp
cmp eax, ebp
jbe 0x4a57f7
push eax
call fcn.004e27e0
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xa0], eax
mov edx, dword [esi + 0x3434]
mov eax, dword [edi + edx + 0xa0]
add esp, 4
cmp eax, ebp
je 0x4a5f07
mov ecx, dword [esi + 0xd4]
push eax
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
push eax
push ecx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov ebx, dword [esp + 0x34]
cmp ebx, ebp
jbe 0x4a58c3
xor eax, eax
cmp byte [esi + 0x58ca], 0x3a
mov dword [esp + 0x28], ebp
jae 0x4a584c
cmp ebx, 0x4a4
jne 0x4a584c
mov edx, dword [esi + 0x3434]
lea ecx, [edi + edx]
mov edx, dword [ecx + 0x88]
cmp edx, 6
je 0x4a5833
cmp edx, 2
jne 0x4a584c
mov eax, 0xcd8
mov dword [ecx + 0x9c], eax
mov ebx, dword [esp + 0x34]
sub eax, ebx
mov dword [esp + 0x28], 1
add eax, ebx
push eax
call fcn.004e27e0
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xa4], eax
mov edx, dword [esi + 0x3434]
mov ebx, dword [edi + edx + 0xa4]
add esp, 4
cmp ebx, ebp
je 0x4a5f0e
mov eax, dword [esp + 0x34]
mov ecx, dword [esi + 0xd4]
push ebx
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
mov edx, dword [esp + 0x6b0]
push eax
push ecx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
xor ebp, ebp
cmp dword [esp + 0x28], ebp
je 0x4a58c3
push ebx
push esi
call fcn.0049fb50
add esp, 8
mov eax, dword [esi + 0x3434]
add eax, edi
cmp dword [eax + 0x64], ebp
je 0x4a596f
mov eax, dword [eax + 0x68]
cmp eax, ebp
jbe 0x4a596f
push eax
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0x80], eax
mov edx, dword [esi + 0x3434]
mov eax, dword [edi + edx + 0x80]
cmp eax, ebp
je 0x4a5f47
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, ebp
je 0x4a5f47
mov edx, dword [esi + 0xd4]
mov ebx, dword [esp + 0x6a0]
push eax
mov eax, dword [esi + 0x3434]
mov ecx, dword [edi + eax + 0x68]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
mov eax, dword [esi + 0x3434]
mov ecx, dword [edi + eax + 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor ebp, ebp
jmp 0x4a5976
mov ebx, dword [esp + 0x6a0]
cmp byte [esi + 0x58ca], 0x13
jb 0x4a5a38
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x4c]
push edx
mov edx, dword [esp + 0x18]
push 4
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
xor ebp, ebp
cmp dword [esp + 0x4c], ebp
je 0x4a5a38
mov ebp, dword [esp + 0x1c]
push ebp
push esi
call fcn.004cc870
mov ecx, dword [esi + 0x3434]
mov edx, dword [edi + ecx + 0xe8]
mov eax, dword [esi + 0xd4]
push edx
mov edx, dword [esp + 0x20]
push 0x34
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x6b0]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00517520
add esp, 0x28
test eax, eax
je 0x4a5f6e
mov ecx, dword [esi + 0x3434]
mov eax, dword [edi + ecx + 0xe8]
mov edx, dword [eax + 0xc]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [edi + eax + 0xe8]
mov dword [ecx + 0x14], ebp
mov edx, dword [esi + 0x3434]
mov eax, dword [edi + edx + 0xe8]
xor ebp, ebp
mov dword [eax + 0x18], ebp
cmp byte [esi + 0x58ca], 0x2d
jb 0x4a5ae4
mov ecx, dword [esi + 0x3434]
mov eax, dword [edi + ecx + 0xf8]
cmp eax, ebp
jbe 0x4a5ae4
push eax
call fcn.004e27e0
mov edx, dword [esi + 0x3434]
mov dword [edi + edx + 0xfc], eax
mov eax, dword [esi + 0x3434]
mov ecx, dword [eax + edi + 0xfc]
add eax, edi
add esp, 4
cmp ecx, ebp
jne 0x4a5aaf
push str.Original_Image_Data
push 0x6c
push esi
call fcn.004e26e0
mov ecx, dword [esi + 0x3434]
mov dword [edi + ecx + 0xf8], ebp
mov edx, dword [esi + 0x3434]
add esp, 0xc
mov dword [edi + edx + 0xf4], ebp
jmp 0x4a5ae4
mov eax, dword [eax + 0xf8]
push ecx
mov ecx, dword [esi + 0xd4]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
push eax
push ecx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5f6e
xor ebp, ebp
cmp dword [esp + 0x3c], ebp
jne 0x4a5b0f
cmp dword [esp + 0x34], ebp
jne 0x4a5b0f
mov edx, dword [esi + 0x3434]
add edi, edx
cmp dword [edi + 0x68], ebp
jne 0x4a5b0f
cmp dword [edi + 0xd4], ebp
jne 0x4a5b0f
and dword [edi + 0x134], 0xffffff7f
mov eax, dword [esp + 0x1c]
add eax, 1
cmp eax, dword [esi + 0x343c]
mov dword [esp + 0x1c], eax
jl 0x4a4c80
mov ecx, dword [esi + 0xd4]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x6a4]
push 1
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5fde
mov al, byte [esp + 0x13]
cmp al, byte [esi + 0x3430]
je 0x4a5b77
cmp al, byte [esi + 0x3431]
jne 0x4a5fde
xor edi, edi
cmp byte [esi + 0x58ca], 2
jb 0x4a5f80
cmp dword [esi + 0x5e4], edi
jle 0x4a5c86
jmp 0x4a5ba0
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + edi*4]
mov eax, dword [esi + 0xd4]
add edx, 0x14
push edx
mov edx, dword [esp + 0x6a4]
push 4
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebp
push ebx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5fde
cmp byte [esi + 0x58ca], 0xb
jb 0x4a5c77
mov eax, dword [esi + 0x138]
mov ecx, dword [eax + edi*4]
mov edx, dword [esi + 0xd4]
add ecx, 0x2c
push ecx
mov ecx, dword [esp + 0x6a4]
push 4
push edx
lea eax, [esp + 0x6a8]
push eax
push ebp
push ebx
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5fde
mov edx, dword [esi + 0x138]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 0xd4]
add eax, 0x30
push eax
mov eax, dword [esp + 0x6a4]
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5fde
cmp byte [esi + 0x58ca], 0x21
jae 0x4a5c77
mov ecx, dword [esi + 0x138]
mov eax, dword [ecx + edi*4]
cmp dword [eax + 0x2c], 0
jle 0x4a5c77
mov dword [eax + 0x30], 0
add edi, 1
cmp edi, dword [esi + 0x5e4]
jl 0x4a5ba0
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x6a4]
push 1
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6942
mov al, byte [esp + 0x13]
cmp al, byte [esi + 0x3430]
je 0x4a5ccf
cmp al, byte [esi + 0x3431]
jne 0x4a6942
mov ecx, dword [esi + 0xd4]
mov eax, dword [esp + 0x6a0]
lea edi, [esi + 0x2b3c]
push edi
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6942
cmp dword [edi], 1
jge 0x4a5d0d
mov dword [edi], 1
mov eax, dword [edi]
cmp eax, dword [esi + 0x2b40]
jle 0x4a5d4c
mov ecx, dword [esi + 0x2b38]
push ecx
mov dword [esi + 0x2b40], eax
call fcn.004e2890
mov edx, dword [esi + 0x2b40]
add edx, 1
imul edx, edx, 0x58
push edx
call fcn.004e2870
add esp, 8
test eax, eax
mov dword [esi + 0x2b38], eax
je 0x4a6942
cmp dword [edi], 0
mov dword [esp + 0x1c], 0
jle 0x4a621c
xor edi, edi
nop
mov al, byte [esp + 0x13]
cmp al, byte [esi + 0x3430]
jne 0x4a6095
xor ebp, ebp
cmp byte [esi + 0x58ca], 5
jae 0x4a5d8b
mov ebp, dword [0x622424]
neg ebp
sbb ebp, ebp
and ebp, 0xfffffff0
add ebp, 0xfffffff0
mov eax, dword [esi + 0xd4]
lea ecx, [esp + 0x50]
push ecx
lea edx, [ebp + 0x48]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x6ac]
lea ecx, [esp + 0x6a8]
push ecx
push edx
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a693e
mov ecx, dword [esi + 0x2b38]
mov edx, dword [esp + 0x50]
mov dword [edi + ecx + 0xc], edx
mov eax, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x54]
mov dword [edi + eax + 0x10], ecx
mov edx, dword [esi + 0x2b38]
mov eax, dword [esp + 0x58]
mov dword [edi + edx + 0x14], eax
mov ecx, dword [esi + 0x2b38]
mov edx, dword [esp + 0x5c]
mov dword [edi + ecx + 0x18], edx
mov eax, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x60]
mov dword [edi + eax + 0x1c], ecx
mov edx, dword [esi + 0x2b38]
mov eax, dword [esp + 0x64]
mov dword [edi + edx + 0x20], eax
mov ecx, dword [esi + 0x2b38]
mov edx, dword [esp + 0x7c]
mov dword [edi + ecx + 0x3c], edx
mov eax, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x68]
mov dword [edi + eax + 0x28], ecx
mov edx, dword [esi + 0x2b38]
mov eax, dword [esp + 0x6c]
mov dword [edi + edx + 0x2c], eax
mov ecx, dword [esi + 0x2b38]
mov edx, dword [esp + 0x88]
mov dword [edi + ecx + 0x48], edx
mov eax, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x94]
mov dword [edi + eax + 0x54], ecx
mov edx, dword [esi + 0x2b38]
xor eax, eax
cmp ebp, eax
jne 0x4a5ff0
mov ecx, dword [esp + 0x70]
mov dword [edi + edx + 0x30], ecx
mov edx, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x74]
mov dword [edi + edx + 0x34], ecx
mov edx, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x78]
mov dword [edi + edx + 0x38], ecx
mov edx, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x8c]
mov dword [edi + edx + 0x4c], ecx
mov edx, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x80]
mov dword [edi + edx + 0x24], ecx
mov edx, dword [esi + 0x2b38]
mov ecx, dword [esp + 0x84]
mov dword [edi + edx + 0x44], ecx
jmp 0x4a6034
push str.Link_file_name
push 0x6c
push esi
call fcn.004e26e0
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x3434]
imul eax, eax, 0x170
add esp, 0xc
push 0
push 0x4f
push esi
mov dword [eax + ecx + 0x134], ebp
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
push str.Image_Data
jmp 0x4a5f4c
push str.Image_info
push 0x6c
push esi
call fcn.004e26e0
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x3434]
imul eax, eax, 0x170
add esp, 0xc
push 0
push 0x4f
push esi
mov dword [eax + ecx + 0x134], ebp
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
push str.Object_data
push 0x6c
push esi
call fcn.004e26e0
mov eax, dword [esp + 0x28]
mov edx, dword [esi + 0x3434]
add esp, 0xc
imul eax, eax, 0x170
mov dword [eax + edx + 0x134], ebp
push 0
push 0x4f
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
cmp dword [esi + 0x5e4], 0
jle 0x4a5c86
lea ecx, [ecx]
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x2e]
push edx
mov edx, dword [esp + 0x6a4]
push 1
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebp
push ebx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a5fde
mov ecx, dword [esi + 0x138]
movzx eax, byte [esp + 0x2e]
mov edx, dword [ecx + edi*4]
add edi, 1
mov dword [edx + 0x14], eax
cmp edi, dword [esi + 0x5e4]
jl 0x4a5f90
jmp 0x4a5c86
push 0
push 0x77
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov dword [edi + edx + 0x38], eax
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x34], eax
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x30], eax
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x4c], eax
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x3c], eax
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x24], eax
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x44], 0xffffff
cmp byte [esi + 0x58ca], 8
jae 0x4a6047
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x24], eax
cmp byte [esi + 0x58ca], 0x11
jae 0x4a605e
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x44], 0xffffff
cmp byte [esi + 0x58ca], 0x26
jae 0x4a6075
mov eax, dword [esi + 0x2b38]
mov dword [edi + eax + 0x48], 0x14
cmp byte [esi + 0x58ca], 0x3b
jae 0x4a61e4
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x54], 0x10101
jmp 0x4a61e4
mov edx, dword [esi + 0x2b38]
mov ecx, dword [esi + 0xd4]
mov ebp, dword [esp + 0x14]
lea eax, [edi + edx + 0xc]
push eax
mov eax, dword [esp + 0x6a4]
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6942
mov ecx, dword [esi + 0x2b38]
mov eax, dword [esi + 0xd4]
lea edx, [edi + ecx + 0x10]
push edx
mov edx, dword [esp + 0x6a4]
push 4
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebp
push ebx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6942
mov eax, dword [esi + 0x2b38]
mov edx, dword [esi + 0xd4]
lea ecx, [edi + eax + 0x18]
push ecx
mov ecx, dword [esp + 0x6a4]
push 4
push edx
lea eax, [esp + 0x6a8]
push eax
push ebp
push ebx
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6942
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x2a0]
push edx
mov edx, dword [esp + 0x6a4]
push 0x14
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebp
push ebx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6942
mov ecx, dword [esi + 0x2b38]
xor eax, eax
mov dword [edi + ecx + 0x14], eax
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x1c], eax
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x20], eax
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x28], eax
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x2c], eax
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x24], eax
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x44], 0xffffff
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x48], 0x14
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 0x50], eax
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 0x54], 0x10101
mov eax, dword [esi + 0x2b38]
test dword [edi + eax + 0x18], 0x803
lea eax, [edi + eax + 0x18]
jne 0x4a61fe
or dword [eax], 0x400
mov eax, dword [esp + 0x1c]
add eax, 1
add edi, 0x58
cmp eax, dword [esi + 0x2b3c]
mov dword [esp + 0x1c], eax
jl 0x4a5d60
mov ebp, dword [esp + 0x14]
cmp byte [esi + 0x58ca], 0xb
jae 0x4a62c3
xor eax, eax
cmp dword [esi + 0x5e4], eax
jle 0x4a6276
mov edx, dword [esi + 0x138]
mov ecx, dword [edx + eax*4]
mov edx, dword [ecx + 0x14]
mov edi, dword [esi + 0x2b38]
imul edx, edx, 0x58
mov edx, dword [edx + edi + 0x20]
mov dword [ecx + 0x2c], edx
mov ecx, dword [esi + 0x138]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ecx + 0x14]
mov edi, dword [esi + 0x2b38]
imul edx, edx, 0x58
mov edx, dword [edx + edi + 0x2c]
add eax, 1
mov dword [ecx + 0x30], edx
cmp eax, dword [esi + 0x5e4]
jl 0x4a6233
mov ecx, 1
cmp dword [esi + 0x2b3c], ecx
jle 0x4a62c3
mov eax, 0x58
jmp 0x4a6290
mov edx, dword [esi + 0x2b38]
cmp dword [eax + edx + 0x2c], 0
lea edx, [eax + edx + 0x2c]
jbe 0x4a62a7
mov dword [edx], 1
mov edx, dword [esi + 0x2b38]
mov dword [eax + edx + 0x20], 0
add ecx, 1
add eax, 0x58
cmp ecx, dword [esi + 0x2b3c]
jl 0x4a6290
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x6a4]
push 1
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6a14
mov cl, byte [esp + 0x13]
cmp cl, byte [esi + 0x3430]
jne 0x4a6a14
mov edx, dword [esi + 0xd4]
mov ecx, dword [esp + 0x14]
lea ebp, [esi + 0x3888]
push ebp
push 4
push edx
mov edx, dword [esp + 0x6ac]
lea eax, [esp + 0x6a8]
push eax
push ecx
push ebx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6a14
cmp dword [ebp], 0x258
jle 0x4a634b
mov dword [ebp], 0x258
cmp dword [ebp], 1
jge 0x4a6358
mov dword [ebp], 1
cmp byte [esi + 0x58ca], 8
jb 0x4a6987
mov ecx, dword [ebp]
mov eax, dword [esi + 0x387c]
imul ecx, ecx, 0xb8
mov edx, dword [esi + 0xd4]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x6ac]
lea eax, [esp + 0x6a8]
push eax
push ecx
push ebx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6a14
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x13]
push edx
mov edx, dword [esp + 0x18]
push 1
push eax
mov eax, dword [esp + 0x6ac]
lea ecx, [esp + 0x6a8]
push ecx
push edx
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6a8e
mov cl, byte [esp + 0x13]
cmp cl, byte [esi + 0x3430]
jne 0x4a6a8e
mov edx, dword [esi + 0xd4]
mov ecx, dword [esp + 0x14]
lea edi, [esi + 0x39c8]
push edi
push 4
push edx
mov edx, dword [esp + 0x6ac]
lea eax, [esp + 0x6a8]
push eax
push ecx
push ebx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6a8e
mov eax, dword [edi]
cmp eax, dword [esi + 0x39d0]
jle 0x4a6437
add eax, 1
push eax
push esi
call fcn.004ab380
add esp, 8
cmp dword [edi], 1
jge 0x4a6442
mov dword [edi], 1
mov al, byte [esi + 0x58ca]
cmp al, 0x32
jae 0x4a6a50
cmp al, 0x2e
mov ebp, 0x80
jae 0x4a645e
mov ebp, 0x46
xor ebx, ebx
cmp dword [esi + 0x39c8], ebx
jle 0x4a64d2
xor edi, edi
lea ebx, [ebx]
mov eax, dword [esi + 0x39c0]
push 0x98
add eax, edi
push 0
push eax
call fcn.004e28a0
mov ecx, dword [esi + 0x39c0]
mov edx, dword [esi + 0xd4]
add ecx, edi
push ecx
mov ecx, dword [esp + 0x24]
push ebp
push edx
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x6b4]
push eax
mov eax, dword [esp + 0x6bc]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x2c
test eax, eax
je 0x4a6a8e
add ebx, 1
add edi, 0x98
cmp ebx, dword [esi + 0x39c8]
jl 0x4a6470
xor edi, edi
xor ebp, ebp
cmp dword [esi + 0x39c8], edi
jle 0x4a65de
xor eax, eax
mov dl, 0x2f
cmp byte [esi + 0x58ca], 8
jae 0x4a64fd
mov ecx, dword [esi + 0x39c0]
mov dword [ecx + eax + 0x24], 1
cmp byte [esi + 0x58ca], 0xf
jae 0x4a6519
mov ecx, dword [esi + 0x39c0]
lea ecx, [ecx + eax + 0x28]
xor ebx, ebx
cmp dword [ecx], edi
sete bl
mov dword [ecx], ebx
cmp byte [esi + 0x58ca], 0x14
jae 0x4a6540
mov ecx, dword [esi + 0x39c0]
fld dword [ecx + eax + 0xc]
add ecx, eax
fstp dword [ecx + 0x38]
mov ecx, dword [esi + 0x39c0]
fld dword [ecx + eax + 0x10]
add ecx, eax
fstp dword [ecx + 0x3c]
cmp byte [esi + 0x58ca], 0x28
jae 0x4a6553
mov ecx, dword [esi + 0x39c0]
mov dword [ecx + eax + 0x30], edi
cmp byte [esi + 0x58ca], 0x2e
jae 0x4a6566
mov ecx, dword [esi + 0x39c0]
mov dword [ecx + eax + 0x44], edi
cmp byte [esi + 0x58ca], dl
jae 0x4a659e
mov ecx, dword [esi + 0x39c0]
mov ebx, dword [esi + 0x3a70]
mov dword [eax + ecx + 0x74], ebx
fld dword [esi + 0x3a2c]
mov ecx, dword [esi + 0x39c0]
fstp dword [eax + ecx + 0x78]
mov ecx, dword [esi + 0x39c0]
fld dword [esi + 0x3a30]
fstp dword [eax + ecx + 0x7c]
cmp byte [esi + 0x58ca], 0x32
jae 0x4a65b4
mov ecx, dword [esi + 0x39c0]
mov dword [ecx + eax + 0x80], edi
cmp byte [esi + 0x58ca], 0x34
jae 0x4a65ca
mov ecx, dword [esi + 0x39c0]
mov dword [ecx + eax + 0x84], edi
add ebp, 1
add eax, 0x98
cmp ebp, dword [esi + 0x39c8]
jl 0x4a64e6
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x13]
push edx
mov edx, dword [esp + 0x18]
push 1
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
mov ecx, dword [esp + 0x6b0]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a6b52
mov edx, dword [esi + 0xd4]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x6a0]
lea ebp, [esi + 0x5894]
push ebp
push 4
push edx
lea eax, [esp + 0x6a8]
push eax
push ecx
push edi
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6b52
cmp dword [ebp], 1
jge 0x4a6677
mov dword [ebp], 1
mov eax, dword [ebp]
cmp eax, dword [esi + 0x589c]
jle 0x4a66f0
mov edx, dword [esi + 0x5884]
push edx
mov dword [esi + 0x589c], eax
call fcn.004e2890
mov eax, dword [esi + 0x5888]
push eax
call fcn.004e2860
mov ecx, dword [esi + 0x589c]
add ecx, 1
imul ecx, ecx, 0x68
push ecx
call fcn.004e2870
add esp, 0xc
test eax, eax
mov dword [esi + 0x5884], eax
je 0x4a6d35
mov eax, dword [esi + 0x589c]
add eax, 1
lea edx, [eax*8]
sub edx, eax
add edx, edx
add edx, edx
push edx
call fcn.004e27e0
add esp, 4
test eax, eax
mov dword [esi + 0x5888], eax
je 0x4a6d35
mov al, byte [esi + 0x58ca]
cmp al, 0xa
jae 0x4a6aa0
cmp dword [0x622424], 0
jne 0x4a6aad
xor ebx, ebx
cmp dword [ebp], ebx
jle 0x4a676e
xor edi, edi
mov eax, dword [esi + 0x5884]
push 0x68
add eax, edi
push 0
push eax
call fcn.004e28a0
mov ecx, dword [esi + 0x5884]
mov edx, dword [esi + 0xd4]
add ecx, edi
push ecx
mov ecx, dword [esp + 0x24]
push 0x52
push edx
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x6b4]
push eax
mov eax, dword [esp + 0x6bc]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x2c
test eax, eax
je 0x4a6b52
add ebx, 1
add edi, 0x68
cmp ebx, dword [ebp]
jl 0x4a6714
xor edx, edx
xor ecx, ecx
cmp dword [ebp], edx
jle 0x4a67b1
xor eax, eax
lea esp, [esp]
cmp byte [esi + 0x58ca], 8
jae 0x4a6793
mov edi, dword [esi + 0x5884]
mov dword [edi + eax + 0x4c], edx
cmp byte [esi + 0x58ca], 0x32
jae 0x4a67a6
mov edi, dword [esi + 0x5884]
mov dword [edi + eax + 0x60], edx
add ecx, 1
add eax, 0x68
cmp ecx, dword [ebp]
jl 0x4a6780
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [esp + 0x18]
push 1
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
mov eax, dword [esp + 0x6b0]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a6d35
mov ecx, dword [esi + 0xd4]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
lea edi, [esi + 0x5898]
push edi
push 4
push ecx
mov ecx, dword [esp + 0x6ac]
lea edx, [esp + 0x6a8]
push edx
push eax
push ebx
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6d35
cmp dword [edi], 1
jge 0x4a6848
mov dword [edi], 1
mov edi, dword [edi]
cmp edi, dword [esi + 0x58a0]
jle 0x4a68b9
mov edx, dword [esi + 0x588c]
push edx
mov dword [esi + 0x58a0], edi
call fcn.004e2890
mov eax, dword [esi + 0x5890]
push eax
call fcn.004e2860
mov ecx, dword [esi + 0x58a0]
add ecx, 1
imul ecx, ecx, 0x84
push ecx
call fcn.004e2870
add esp, 0xc
test eax, eax
mov dword [esi + 0x588c], eax
je 0x4a6d35
mov edx, dword [esi + 0x58a0]
add edx, 1
imul edx, edx, 0x34
push edx
call fcn.004e27e0
add esp, 4
test eax, eax
mov dword [esi + 0x5890], eax
je 0x4a6d35
xor edi, edi
cmp dword [esi + 0x58a0], edi
jle 0x4a68e8
xor ebp, ebp
mov eax, dword [esi + 0x5890]
push 0x34
add eax, ebp
push 0
push eax
call fcn.004e28a0
add edi, 1
add esp, 0xc
add ebp, 0x34
cmp edi, dword [esi + 0x58a0]
jl 0x4a68c5
mov cl, byte [esi + 0x58ca]
cmp cl, 0x32
jb 0x4a6b64
mov edx, dword [esi + 0x5898]
mov ecx, dword [esi + 0x588c]
imul edx, edx, 0x84
mov eax, dword [esi + 0xd4]
push ecx
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x6ac]
lea ecx, [esp + 0x6a8]
push ecx
push edx
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6d35
jmp 0x4a6c64
mov ebp, dword [esp + 0x14]
push 0
push 0x78
push esi
call fcn.004e26e0
xor eax, eax
add esp, 0xc
cmp dword [esi + 0x5e4], eax
jle 0x4a62c3
xor edx, edx
nop
mov ecx, dword [esi + 0x138]
mov ecx, dword [ecx + eax*4]
mov edi, dword [ecx + 0x14]
cmp edi, dword [esi + 0x2b3c]
jl 0x4a6977
mov dword [ecx + 0x14], edx
add eax, 1
cmp eax, dword [esi + 0x5e4]
jl 0x4a6960
jmp 0x4a62c3
cmp dword [ebp], 0
mov dword [esp + 0x1c], 0
jle 0x4a63a4
xor edi, edi
jmp 0x4a69a0
mov eax, dword [esi + 0x387c]
mov ecx, dword [esi + 0xd4]
add eax, edi
push eax
mov eax, dword [esp + 0x18]
push 0xa4
push ecx
mov ecx, dword [esp + 0x6ac]
lea edx, [esp + 0x6a8]
push edx
push eax
push ebx
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a6a14
xor eax, eax
lea ebx, [ebx]
mov ecx, dword [esi + 0x387c]
lea edx, [eax + edi]
add eax, 1
cmp eax, 0x14
mov byte [edx + ecx + 0xa4], 0
jl 0x4a69e0
mov eax, dword [esp + 0x1c]
add eax, 1
add edi, 0xb8
cmp eax, dword [ebp]
mov dword [esp + 0x1c], eax
jl 0x4a69a0
jmp 0x4a63a4
push 0
push 0x23
push esi
call fcn.004e26e0
xor eax, eax
add esp, 0xc
cmp dword [esi + 0x2b3c], eax
jle 0x4a7ee7
xor edx, edx
xor ecx, ecx
mov edi, dword [esi + 0x2b38]
mov dword [ecx + edi + 0x1c], edx
add eax, 1
add ecx, 0x58
cmp eax, dword [esi + 0x2b3c]
jl 0x4a6a33
jmp 0x4a7ee7
mov edx, dword [edi]
mov ecx, dword [esi + 0x39c0]
imul edx, edx, 0x98
mov eax, dword [esi + 0xd4]
push ecx
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x6ac]
lea ecx, [esp + 0x6a8]
push ecx
push edx
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
jne 0x4a64d2
push 0
push 0x29
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
cmp dword [0x622424], 0
je 0x4a6b1d
cmp al, 0x15
jae 0x4a6b1d
xor ebx, ebx
cmp dword [ebp], ebx
jle 0x4a676e
xor edi, edi
mov ecx, dword [esi + 0x5884]
push 0x68
add ecx, edi
push 0
push ecx
call fcn.004e28a0
mov edx, dword [esi + 0x5884]
mov eax, dword [esi + 0xd4]
add edx, edi
push edx
mov edx, dword [esp + 0x24]
push 0x50
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x6b4]
push ecx
mov ecx, dword [esp + 0x6bc]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x2c
test eax, eax
je 0x4a6b52
add ebx, 1
add edi, 0x68
cmp ebx, dword [ebp]
jl 0x4a6ac2
jmp 0x4a676e
mov eax, dword [ebp]
mov edx, dword [esi + 0x5884]
imul eax, eax, 0x68
mov ecx, dword [esi + 0xd4]
push edx
push eax
mov eax, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x6a8]
push edx
push eax
push edi
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
jne 0x4a676e
push 0
push 0x24
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
xor eax, eax
cmp cl, 0xc
jae 0x4a6b70
mov eax, 0x10
cmp cl, 0x2b
jae 0x4a6b78
add eax, 0x10
add eax, 0x18
cmp dword [esi + 0x5898], 0
mov dword [esp + 0x1c], 0
jle 0x4a6c64
mov ebx, 0x84
sub ebx, eax
xor edi, edi
lea ebp, [edi + 0x60]
lea esp, [esp]
mov ecx, dword [esi + 0x588c]
push 0x84
add ecx, edi
push 0
push ecx
call fcn.004e28a0
mov edx, dword [esi + 0x588c]
mov eax, dword [esi + 0xd4]
add edx, edi
push edx
mov edx, dword [esp + 0x24]
push ebx
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x6b4]
push ecx
mov ecx, dword [esp + 0x6bc]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x2c
test eax, eax
je 0x4a6d35
cmp byte [esi + 0x58ca], 0xc
jae 0x4a6c08
mov edx, dword [esi + 0x588c]
mov dword [edx + edi + 0x4c], 0xffffff
cmp byte [esi + 0x58ca], 0x2b
jae 0x4a6c3d
mov ecx, dword [esi + 0x588c]
mov eax, 0x10101
mov dword [ecx + ebp - 4], eax
mov edx, dword [esi + 0x588c]
mov dword [edx + ebp], eax
mov ecx, dword [esi + 0x588c]
mov dword [ecx + ebp + 4], eax
mov edx, dword [esi + 0x588c]
mov dword [edx + ebp + 8], eax
mov eax, dword [esp + 0x1c]
add eax, 1
add edi, 0x84
add ebp, 0x84
cmp eax, dword [esi + 0x5898]
mov dword [esp + 0x1c], eax
jl 0x4a6ba0
mov ebx, dword [esp + 0x18]
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x18]
push 1
push ecx
mov ecx, dword [esp + 0x6ac]
lea edx, [esp + 0x6a8]
push edx
push eax
push ebx
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a72df
mov edx, dword [esi + 0xd4]
mov ecx, dword [esp + 0x14]
lea ebx, [esi + 0x734]
push ebx
push 4
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
mov eax, dword [esp + 0x6b0]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a72df
cmp dword [ebx], 1
jge 0x4a6cf7
mov dword [ebx], 1
mov eax, dword [ebx]
cmp eax, dword [esi + 0x738]
jle 0x4a6d47
mov ecx, dword [esi + 0x72c]
push ecx
mov dword [esi + 0x738], eax
call fcn.004e2890
mov edx, dword [esi + 0x738]
add edx, 1
imul edx, edx, 0x98
push edx
call fcn.004e2870
add esp, 8
test eax, eax
mov dword [esi + 0x72c], eax
jne 0x4a6d47
push 0
push 5
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
xor ebp, ebp
cmp byte [esi + 0x58ca], 0x3c
jb 0x4a71e2
mov ecx, dword [ebx]
mov eax, dword [esi + 0x72c]
imul ecx, ecx, 0x98
mov edx, dword [esi + 0xd4]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
mov eax, dword [esp + 0x6b0]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a72e1
xor ecx, ecx
cmp dword [ebx], ebp
jle 0x4a6dcf
mov dl, 0x16
cmp byte [esi + 0x58ca], dl
jae 0x4a6dc2
mov eax, dword [esi + 0x72c]
test dword [eax + ebp + 0x28], 0x380
lea eax, [eax + ebp + 0x28]
je 0x4a6dc2
or dword [eax], 0x4000
add ecx, 1
add ebp, 0x98
cmp ecx, dword [ebx]
jl 0x4a6da0
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [esp + 0x18]
push 1
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
mov eax, dword [esp + 0x6b0]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a732c
mov ecx, dword [esi + 0xd4]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x6a0]
lea edi, [esi + 0x39a8]
push edi
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a732c
cmp dword [edi], 2
jge 0x4a6e66
mov dword [edi], 2
mov eax, dword [edi]
cmp eax, dword [esi + 0x39ac]
jle 0x4a6ea8
mov ecx, dword [esi + 0x3894]
push ecx
mov dword [esi + 0x39ac], eax
call fcn.004e2890
mov edx, dword [esi + 0x39ac]
add edx, 1
imul edx, edx, 0x10c
push edx
call fcn.004e2870
add esp, 8
test eax, eax
mov dword [esi + 0x3894], eax
je 0x4a732c
mov al, byte [esi + 0x58ca]
cmp al, 0x38
jae 0x4a72f2
cmp al, 0x1d
mov dword [esp + 0x28], 0xe0
jae 0x4a6eca
mov dword [esp + 0x28], 0xc0
xor ebx, ebx
cmp dword [edi], ebx
jle 0x4a6f5b
xor ebp, ebp
jmp 0x4a6ee0
mov eax, dword [esi + 0x3894]
push 0x10c
add eax, ebp
push 0
push eax
call fcn.004e28a0
mov ecx, dword [esi + 0x3894]
mov edx, dword [esp + 0x34]
mov eax, dword [esi + 0xd4]
add ecx, ebp
push ecx
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x6b4]
push ecx
mov ecx, dword [esp + 0x6bc]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x2c
test eax, eax
je 0x4a732c
mov edx, dword [esi + 0x3894]
lea eax, [edx + ebp]
lea ecx, [eax + 0x48]
push ecx
add eax, 0xbc
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
add ebx, 1
add ebp, 0x10c
cmp ebx, dword [edi]
jl 0x4a6ee0
xor ebx, ebx
cmp byte [esi + 0x58ca], 0xe
jae 0x4a6f8a
xor eax, eax
cmp dword [edi], ebx
jle 0x4a6f8a
xor ecx, ecx
mov edi, edi
mov edx, dword [esi + 0x3894]
mov dword [edx + ecx + 0xac], ebx
add eax, 1
add ecx, 0x10c
cmp eax, dword [edi]
jl 0x4a6f70
cmp byte [esi + 0x58ca], 0x11
jae 0x4a6fba
xor eax, eax
cmp dword [edi], ebx
jle 0x4a6fba
xor ecx, ecx
mov edx, 0xffffff
mov ebp, dword [esi + 0x3894]
mov dword [ecx + ebp + 0xb4], edx
add eax, 1
add ecx, 0x10c
cmp eax, dword [edi]
jl 0x4a6fa0
cmp byte [esi + 0x58ca], 0x1b
jae 0x4a6ff4
xor edx, edx
cmp dword [edi], ebx
jle 0x4a6ff4
xor ebp, ebp
jmp 0x4a6fd0
mov eax, dword [esi + 0x3894]
mov ecx, dword [eax + ebp + 0x68]
lea eax, [eax + ebp + 0x68]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
add edx, 1
mov dword [eax], ecx
add ebp, 0x10c
cmp edx, dword [edi]
jl 0x4a6fd0
cmp byte [esi + 0x58ca], 0x27
jae 0x4a702a
xor eax, eax
cmp dword [edi], ebx
jle 0x4a702a
xor ecx, ecx
jmp 0x4a7010
mov edx, dword [esi + 0x3894]
mov dword [ecx + edx + 0xa0], ebx
add eax, 1
add ecx, 0x10c
cmp eax, dword [edi]
jl 0x4a7010
cmp byte [esi + 0x58ca], 0x38
jae 0x4a705a
xor eax, eax
cmp dword [edi], ebx
jle 0x4a705a
xor ecx, ecx
or edx, 0xffffffff
mov edi, edi
mov ebp, dword [esi + 0x3894]
mov dword [ecx + ebp + 0xe0], edx
add eax, 1
add ecx, 0x10c
cmp eax, dword [edi]
jl 0x4a7040
cmp byte [esi + 0x58ca], 0x3b
jae 0x4a708a
xor eax, eax
cmp dword [edi], ebx
jle 0x4a708a
xor ecx, ecx
mov edx, 0x10101
mov ebp, dword [esi + 0x3894]
mov dword [ecx + ebp + 0xe8], edx
add eax, 1
add ecx, 0x10c
cmp eax, dword [edi]
jl 0x4a7070
xor edx, edx
xor eax, eax
mov edi, edi
cmp edx, dword [edi]
jge 0x4a70bf
mov ecx, dword [esi + 0x3894]
cmp dword [ecx + eax + 0xb4], ebx
lea ecx, [ecx + eax + 0xb4]
jne 0x4a70b0
mov dword [ecx], 0xffffff
add eax, 0x10c
add edx, 1
cmp eax, 0x218
jl 0x4a7090
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x13]
push edx
mov edx, dword [esp + 0x18]
push 1
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
mov ecx, dword [esp + 0x6b0]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a71cd
mov edx, dword [esi + 0xd4]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x6a0]
lea edi, [esi + 0x2b54]
push edi
push 4
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a71cd
mov edx, dword [edi]
cmp edx, dword [esi + 0x2b58]
jle 0x4a718e
mov eax, dword [esi + 0x2b50]
push eax
call fcn.004e2860
mov eax, dword [edi]
mov dword [esi + 0x2b58], eax
add eax, 1
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
push ecx
call fcn.004e27e0
add esp, 8
test eax, eax
mov dword [esi + 0x2b50], eax
je 0x4a784f
mov eax, dword [edi]
mov edx, dword [esi + 0x2b50]
mov ecx, eax
shl ecx, 4
push edx
mov edx, dword [esi + 0xd4]
sub ecx, eax
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [esp + 0x6a8]
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
jne 0x4a733e
push 0
push 0x88
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
cmp dword [ebx], ebp
mov dword [esp + 0x1c], ebp
jle 0x4a6d98
xor edi, edi
mov ecx, dword [esi + 0x72c]
push 0x98
add ecx, edi
push ebp
push ecx
call fcn.004e28a0
mov al, byte [esi + 0x58ca]
add esp, 0xc
cmp al, 0x30
jb 0x4a7218
mov ebp, 0x28
jmp 0x4a722d
cmp al, 7
jb 0x4a7223
mov ebp, 0x3e
jmp 0x4a722d
cmp al, 6
sbb ebp, ebp
and ebp, 0x14
add ebp, 0x50
mov edx, dword [esi + 0x72c]
push 0x98
add edx, edi
push 0
push edx
call fcn.004e28a0
mov eax, dword [esi + 0x72c]
mov edx, dword [esi + 0xd4]
add eax, edi
push eax
mov ecx, 0x98
sub ecx, ebp
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x6b4]
push eax
mov eax, dword [esp + 0x6bc]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x2c
xor ebp, ebp
test eax, eax
je 0x4a72e1
mov ecx, dword [esi + 0x72c]
mov dword [ecx + edi + 0x34], 0xffffff
mov edx, dword [esi + 0x72c]
mov dword [edx + edi + 0x38], 1
mov eax, dword [esi + 0x72c]
mov dword [eax + edi + 0x54], ebp
mov ecx, dword [esi + 0x72c]
mov eax, dword [esp + 0x1c]
mov dword [ecx + edi + 0x68], ebp
mov edx, dword [esi + 0x72c]
mov dword [edx + edi + 0x6c], ebp
add eax, 1
add edi, 0x98
cmp eax, dword [ebx]
mov dword [esp + 0x1c], eax
jl 0x4a71f0
jmp 0x4a6d98
xor ebp, ebp
push ebp
push 0x79
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov eax, dword [edi]
mov edx, dword [esi + 0x3894]
imul eax, eax, 0x10c
mov ecx, dword [esi + 0xd4]
push edx
push eax
mov eax, dword [esp + 0x6a8]
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
jne 0x4a6f5b
push 0
push 0x22
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov ebp, 1
cmp dword [edi], ebp
jle 0x4a739f
lea eax, [ebp + 0x3b]
mov dl, 0x1a
cmp byte [esi + 0x58ca], dl
jae 0x4a7376
mov ecx, dword [esi + 0x2b50]
add ecx, eax
cmp dword [ecx], 0
jne 0x4a7376
mov bl, byte [ecx + 0x19]
mov byte [ecx + 0x1b], bl
mov ecx, dword [esi + 0x2b50]
mov byte [ecx + eax + 0x1c], 0
cmp byte [esi + 0x58ca], 0x23
jae 0x4a7395
mov ebx, dword [esi + 0x2b50]
xor ecx, ecx
mov dword [ebx + eax + 0x30], ecx
mov ebx, dword [esi + 0x2b50]
mov dword [ebx + eax + 0x2c], ecx
add ebp, 1
add eax, 0x3c
cmp ebp, dword [edi]
jl 0x4a7350
cmp byte [esi + 0x58ca], 0x12
jb 0x4a7e08
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x13]
push edx
mov edx, dword [esp + 0x18]
push 1
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
mov ecx, dword [esp + 0x6b0]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a7b68
mov edx, dword [esi + 0xd4]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x6a0]
lea edi, [esi + 0xba0]
push edi
push 4
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7b68
mov eax, dword [edi]
cmp eax, dword [esi + 0xba4]
jle 0x4a747a
mov edx, dword [esi + 0xb80]
push edx
mov dword [esi + 0xba4], eax
call fcn.004e2860
mov eax, dword [esi + 0xba4]
add eax, 1
lea eax, [eax + eax*2]
shl eax, 4
push eax
call fcn.004e27e0
add esp, 8
test eax, eax
mov dword [esi + 0xb80], eax
je 0x4a7b68
cmp dword [edi], 0
mov dword [esp + 0x1c], 0
jle 0x4a76a8
xor edi, edi
lea ecx, [ecx]
cmp byte [esi + 0x58ca], 0x39
jb 0x4a74c8
mov ecx, dword [esi + 0xb80]
mov edx, dword [esi + 0xd4]
add ecx, edi
push ecx
mov ecx, dword [esp + 0x6a4]
push 0x30
push edx
lea eax, [esp + 0x6a8]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x20
jmp 0x4a7507
mov edx, dword [esi + 0xb80]
push 0x30
add edx, edi
push 0
push edx
call fcn.004e28a0
mov eax, dword [esi + 0xb80]
mov ecx, dword [esi + 0xd4]
add eax, edi
push eax
mov eax, dword [esp + 0x6b0]
push 0x1c
push ecx
lea edx, [esp + 0x6b4]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x2c
test eax, eax
je 0x4a7b68
mov ecx, dword [esi + 0xb80]
xor eax, eax
mov dword [edi + ecx + 0x10], eax
mov edx, dword [esi + 0xb80]
mov dword [edi + edx + 4], eax
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x6a4]
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7b68
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4a75c1
add eax, 1
push eax
call fcn.004e2930
mov ecx, dword [esi + 0xb80]
mov dword [edi + ecx + 4], eax
mov edx, dword [esi + 0xb80]
mov eax, dword [edi + edx + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0xd4]
push eax
push ecx
mov ecx, dword [esp + 0x6ac]
push edx
lea eax, [esp + 0x6ac]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x24
test eax, eax
je 0x4a7b68
mov edx, dword [esi + 0xb80]
mov eax, dword [edi + edx + 4]
mov ecx, dword [esp + 0x24]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x6a4]
push 4
push eax
lea ecx, [esp + 0x6a8]
push ecx
push ebx
push ebp
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7b68
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x6a4]
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebx
push ebp
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7b68
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4a768e
add eax, 1
push eax
call fcn.004e2930
mov ecx, dword [esi + 0xb80]
mov dword [edi + ecx + 0x10], eax
mov edx, dword [esi + 0xb80]
mov eax, dword [edi + edx + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0xd4]
push eax
push ecx
mov ecx, dword [esp + 0x6ac]
push edx
lea eax, [esp + 0x6ac]
push eax
push ebx
push ebp
push ecx
push esi
call fcn.00517520
add esp, 0x24
test eax, eax
je 0x4a7b68
mov edx, dword [esi + 0xb80]
mov eax, dword [edi + edx + 0x10]
mov ecx, dword [esp + 0x24]
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x1c]
add eax, 1
add edi, 0x30
cmp eax, dword [esi + 0xba0]
mov dword [esp + 0x1c], eax
jl 0x4a7490
cmp byte [esi + 0x58ca], 0x22
jb 0x4a7e08
mov eax, dword [esi + 0xd4]
lea edx, [esp + 0x13]
push edx
push 1
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
mov ecx, dword [esp + 0x6b0]
mov edx, ebx
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
je 0x4a7715
push 0
push 0xa6
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
xor edi, edi
jmp 0x4a7720
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x69c]
push edx
mov edx, dword [esp + 0x6a4]
mov eax, ebx
push eax
push ecx
push edx
push esi
call fcn.0049fd40
add esp, 0x14
test eax, eax
je 0x4a7ee7
add edi, 1
cmp edi, 0xb
jl 0x4a7720
cmp byte [esi + 0x58ca], 0x23
jb 0x4a7e08
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x13]
push eax
push 1
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
mov edx, dword [esp + 0x6b0]
mov eax, ebx
push eax
push ecx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a784f
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x30]
push eax
push 4
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
mov edx, dword [esp + 0x6b0]
mov eax, ebx
push eax
push ecx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a784f
mov eax, dword [esp + 0x30]
cmp eax, dword [esi + 0x2b64]
jle 0x4a7864
mov edi, 1
cmp dword [esi + 0x2b60], edi
jle 0x4a7816
push edi
push esi
call fcn.004aa9d0
add edi, 1
add esp, 8
cmp edi, dword [esi + 0x2b60]
jl 0x4a7801
mov eax, dword [esi + 0x2b5c]
push eax
call fcn.004e2860
mov eax, dword [esp + 0x34]
lea ecx, [eax + eax*8 + 9]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
mov dword [esi + 0x2b60], eax
mov dword [esi + 0x2b64], eax
call fcn.004e27e0
add esp, 8
test eax, eax
mov dword [esi + 0x2b5c], eax
jne 0x4a786a
push 0
push 0xa7
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov dword [esi + 0x2b60], eax
cmp dword [esi + 0x2b60], 0
mov dword [esp + 0x1c], 0
jle 0x4a7a57
xor edi, edi
mov edx, dword [esi + 0x2b5c]
mov eax, dword [esi + 0xd4]
add edx, edi
push edx
mov edx, dword [esp + 0x18]
push 0x48
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
mov ecx, dword [esp + 0x6b0]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7b68
mov edx, dword [esi + 0x2b5c]
cmp dword [edi + edx], 0
je 0x4a7a3d
mov ecx, dword [esi + 0xd4]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x6a4]
push 4
push ecx
lea edx, [esp + 0x6a8]
push edx
push ebp
push ebx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a784f
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4a7974
add eax, 1
push eax
call fcn.004e2930
mov ecx, dword [esi + 0x2b5c]
mov dword [edi + ecx + 0x18], eax
mov edx, dword [esi + 0x2b5c]
mov eax, dword [edi + edx + 0x18]
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0xd4]
push eax
push ecx
mov ecx, dword [esp + 0x6ac]
push edx
lea eax, [esp + 0x6ac]
push eax
push ebp
push ebx
push ecx
push esi
call fcn.00517520
add esp, 0x24
test eax, eax
je 0x4a784f
mov edx, dword [esi + 0x2b5c]
mov eax, dword [edi + edx + 0x18]
mov ecx, dword [esp + 0x24]
mov byte [ecx + eax], 0
jmp 0x4a7982
mov edx, dword [esi + 0x2b5c]
mov dword [edi + edx + 0x18], 0
mov eax, dword [esi + 0x2b5c]
mov dword [edi + eax + 0x1c], 0
mov ecx, dword [esi + 0x2b5c]
mov eax, dword [edi + ecx + 0x10]
test eax, eax
jle 0x4a7a3d
imul eax, eax, 0x84
push eax
call fcn.004e2930
mov edx, dword [esi + 0x2b5c]
mov dword [edi + edx + 0x1c], eax
mov eax, dword [esi + 0x2b5c]
mov edx, dword [eax + edi + 0x10]
mov ecx, dword [eax + edi + 0x1c]
imul edx, edx, 0x84
add eax, edi
mov eax, dword [esi + 0xd4]
push ecx
push edx
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x6ac]
push ecx
mov ecx, dword [esp + 0x6b4]
mov edx, ebp
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x24
test eax, eax
je 0x4a784f
mov edx, dword [esi + 0x2b5c]
xor ebp, ebp
cmp dword [edi + edx + 0x10], ebp
jle 0x4a7a3d
xor ebx, ebx
mov eax, dword [esi + 0x2b5c]
mov ecx, dword [edi + eax + 0x1c]
mov edx, dword [ecx + ebx + 0x20]
push edx
push esi
call fcn.0049fcd0
mov eax, dword [esi + 0x2b5c]
add ebp, 1
add esp, 8
add ebx, 0x84
cmp ebp, dword [edi + eax + 0x10]
jl 0x4a7a10
mov eax, dword [esp + 0x1c]
add eax, 1
add edi, 0x48
cmp eax, dword [esi + 0x2b60]
mov dword [esp + 0x1c], eax
jl 0x4a7881
cmp byte [esi + 0x58ca], 0x23
jb 0x4a7e08
mov edx, dword [esi + 0xd4]
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [esp + 0x18]
push 1
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
mov eax, dword [esp + 0x6b0]
push ecx
push edx
push eax
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
jne 0x4a7d18
mov edx, dword [esi + 0xd4]
mov ebx, dword [esp + 0x6a0]
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x18]
push 4
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x6a8]
push eax
push ecx
push edx
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7d18
mov eax, dword [esp + 0x30]
cmp eax, dword [esi + 0x2b70]
jle 0x4a7b7d
mov edi, 1
cmp dword [esi + 0x2b6c], edi
jle 0x4a7b25
jmp 0x4a7b10
push edi
push esi
call fcn.004aaa40
add edi, 1
add esp, 8
cmp edi, dword [esi + 0x2b6c]
jl 0x4a7b10
mov eax, dword [esi + 0x2b68]
push eax
call fcn.004e2860
mov eax, dword [esp + 0x34]
mov dword [esi + 0x2b6c], eax
mov dword [esi + 0x2b70], eax
add eax, 1
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
add ecx, ecx
push ecx
call fcn.004e27e0
add esp, 8
test eax, eax
mov dword [esi + 0x2b68], eax
je 0x4a7d18
jmp 0x4a7b83
push 0
push 0x8d
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov dword [esi + 0x2b6c], eax
cmp dword [esi + 0x2b6c], 0
mov dword [esp + 0x1c], 0
jle 0x4a7cbe
xor edi, edi
lea ebx, [ebx]
mov edx, dword [esi + 0x2b68]
mov eax, dword [esi + 0xd4]
add edx, edi
push edx
mov edx, dword [esp + 0x18]
push 0x3c
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7d18
mov ecx, dword [esi + 0x2b68]
cmp dword [ecx + edi], 0
lea eax, [ecx + edi]
je 0x4a7ca4
mov dword [eax + 0xc], 0
mov edx, dword [esi + 0x2b68]
mov eax, dword [edx + edi + 8]
test eax, eax
jle 0x4a7ca4
imul eax, eax, 0x84
push eax
call fcn.004e2930
mov ecx, dword [esi + 0x2b68]
mov dword [ecx + edi + 0xc], eax
mov edx, dword [esi + 0x2b68]
mov ecx, dword [edx + edi + 0xc]
lea eax, [edx + edi]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0xd4]
imul edx, edx, 0x84
push ecx
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x6ac]
push ecx
push edx
push eax
push ebx
push esi
call fcn.00517520
add esp, 0x24
test eax, eax
je 0x4a784f
mov ecx, dword [esi + 0x2b68]
xor ebp, ebp
cmp dword [ecx + edi + 8], ebp
jle 0x4a7ca4
xor ebx, ebx
jmp 0x4a7c70
mov edx, dword [esi + 0x2b68]
mov eax, dword [edx + edi + 0xc]
mov ecx, dword [eax + ebx + 0x20]
push ecx
push esi
call fcn.0049fcd0
mov edx, dword [esi + 0x2b68]
add ebp, 1
add esp, 8
add ebx, 0x84
cmp ebp, dword [edx + edi + 8]
jl 0x4a7c70
mov ebx, dword [esp + 0x6a0]
mov eax, dword [esp + 0x1c]
add eax, 1
add edi, 0x3c
cmp eax, dword [esi + 0x2b6c]
mov dword [esp + 0x1c], eax
jl 0x4a7ba0
cmp byte [esi + 0x58ca], 0x3e
jb 0x4a7e08
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x18]
push 1
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
mov edx, dword [esp + 0x6b0]
push eax
push ecx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
mov al, byte [esp + 0x13]
cmp al, 0xba
je 0x4a7e6f
cmp al, byte [esi + 0x3430]
je 0x4a7d2d
push 0
push 0xa8
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x18]
push 4
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
mov edx, dword [esp + 0x6b0]
push eax
push ecx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7e5a
cmp byte [esi + 0x58ca], 0x3f
mov ebp, 0x5c
jae 0x4a7d79
mov ebp, 0x44
xor ebx, ebx
cmp dword [esi + 0x760], ebx
jle 0x4a7e08
xor edi, edi
lea esp, [esp]
mov eax, dword [esi + 0x758]
mov ecx, dword [esi + 0xd4]
add eax, edi
push eax
mov eax, dword [esp + 0x18]
push ebp
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
mov edx, dword [esp + 0x6b0]
push eax
push ecx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7e5a
cmp byte [esi + 0x58ca], 0x3f
jae 0x4a7dfa
mov eax, dword [esi + 0x758]
mov dword [edi + eax + 0x44], 0
mov ecx, dword [esi + 0x758]
push 0x14
lea edx, [edi + ecx + 0x48]
push 0
push edx
call fcn.004e28a0
add esp, 0xc
add ebx, 1
add edi, 0x5c
cmp ebx, dword [esi + 0x760]
jl 0x4a7d90
mov ecx, dword [esi + 0xd4]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x18]
push 1
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x6a8]
push edx
mov edx, dword [esp + 0x6b0]
push eax
push ecx
push edx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
cmp byte [esp + 0x13], 0xba
je 0x4a7e6f
push 0
push 0x4d
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
push 0
push 0xd8
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov eax, dword [esi + 0xd4]
mov edx, dword [esp + 0x14]
lea edi, [esi + 0x58c8]
push edi
push 0x25c
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x6a8]
push ecx
mov ecx, dword [esp + 0x6b0]
push edx
push eax
push ecx
push esi
call fcn.00517520
add esp, 0x20
test eax, eax
je 0x4a7ee7
cmp byte [edi], 0xba
je 0x4a7ebd
push 0
push 0x4e
push esi
call fcn.004e26e0
add esp, 0xc
jmp 0x4a7ee7
mov eax, dword [esi + 0x58dc]
test eax, eax
mov dword [esi + 0x740], eax
jle 0x4a7ee7
mov edx, dword [esi + 0x72c]
imul eax, eax, 0x98
mov eax, dword [edx + eax + 0x48]
push eax
push esi
call fcn.0049fcd0
add esp, 8
cmp byte [esp + 0x6a0], 0x46
jne 0x4a7efc
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0x343c]
xor ebp, ebp
cmp eax, dword [esi + 0x6f0]
mov dword [esi + 0x9b14], ebp
jl 0x4a7f2c
push eax
push esi
call fcn.0049fcd0
mov edx, dword [esi + 0x343c]
mov eax, dword [esi + 0x6ec]
add esp, 8
mov byte [edx + eax], 0
xor edi, edi
cmp dword [esi + 0x343c], ebp
jle 0x4a8058
lea ebx, [ebx]
mov ecx, dword [esi + 0x6ec]
movzx edx, byte [edi + ecx]
mov eax, dword [esi + 0x3434]
push edi
push esi
mov dword [eax + ebp + 0x13c], edx
call fcn.004cc8e0
add esp, 8
test eax, eax
je 0x4a7fe5
mov edx, dword [esi + 0x3434]
mov ecx, dword [edx + ebp + 0xe8]
mov ecx, dword [ecx + 4]
test ecx, ecx
jle 0x4a8043
cmp ecx, dword [esi + 0x343c]
jge 0x4a8043
mov eax, ecx
imul eax, eax, 0x170
test byte [edx + eax + 0x134], 0x80
je 0x4a8043
cmp dword [edx + eax + 0xe8], 0
je 0x4a8043
mov edx, dword [esi + 0x6ec]
mov byte [ecx + edx], 1
mov ecx, dword [esi + 0x3434]
mov dword [eax + ecx + 0x13c], 1
mov edx, dword [esi + 0x3434]
mov eax, dword [edx + eax + 0xe8]
mov ecx, dword [eax + 4]
test ecx, ecx
jg 0x4a7f81
jmp 0x4a8043
push 0
push edi
push esi
call fcn.004ea7b0
add esp, 0xc
test eax, eax
je 0x4a8043
mov ecx, dword [esi + 0x3434]
mov ebx, dword [ecx + ebp + 0xa4]
test ebx, ebx
je 0x4a8043
mov eax, dword [ebx + 0x884]
test eax, eax
jl 0x4a8043
cmp eax, dword [esi + 0x343c]
jge 0x4a8043
push eax
push esi
call fcn.0049fcd0
mov edx, dword [ebx + 0x884]
mov eax, dword [esi + 0x3434]
add esp, 8
imul edx, edx, 0x170
mov dword [edx + eax + 0x13c], 1
add edi, 1
add ebp, 0x170
cmp edi, dword [esi + 0x343c]
jl 0x4a7f40
xor ebx, ebx
cmp dword [esi + 0x343c], ebx
mov dword [esp + 0x1c], ebx
jle 0x4a85b5
xor ebp, ebp
lea esp, [esp]
mov ecx, dword [esi + 0x3434]
cmp dword [ecx + ebp + 0x13c], 0
lea eax, [ecx + ebp]
je 0x4a852f
cmp byte [esi + 0x58ca], 1
jae 0x4a8097
mov dword [eax + 0x34], 0xffffff
mov edx, dword [esi + 0x3434]
test byte [edx + ebp + 0x134], 0x80
lea eax, [edx + ebp]
je 0x4a84b9
cmp dword [eax + 0xd4], 0
je 0x4a8323
mov ecx, dword [eax + 0xd4]
lea edx, [esp + 0x174]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x4a80c8
lea eax, [esp + 0x174]
push eax
push esi
call fcn.00540d60
lea eax, [esp + 0x17c]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4a80f1
mov ecx, dword [esi + 0x3434]
sub eax, edx
mov edx, dword [ecx + ebp + 0xd4]
mov ecx, edx
lea edi, [ecx + 1]
mov edi, edi
mov bl, byte [ecx]
add ecx, 1
test bl, bl
jne 0x4a8110
sub ecx, edi
cmp eax, ecx
je 0x4a8155
lea eax, [esp + 0x174]
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4a8130
sub eax, edi
add eax, 1
push eax
push edx
call fcn.004e2830
mov edx, dword [esi + 0x3434]
add esp, 8
mov dword [edx + ebp + 0xd4], eax
mov eax, dword [esi + 0x3434]
mov edx, dword [eax + ebp + 0xd4]
lea ecx, [esp + 0x174]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x4a8170
mov ecx, dword [esi + 0x3434]
mov edx, dword [ecx + ebp + 0xbc]
lea eax, [ecx + ebp]
mov eax, dword [eax + 0xd4]
mov ecx, dword [esi + 0x39c]
push 0
push edx
push 0
push eax
push ecx
call sym.LectoraViewer.exe__TerInsertPictureFile_20
mov ebx, eax
test ebx, ebx
jg 0x4a8236
mov edx, dword [esi + 0x3434]
and dword [edx + ebp + 0x134], 0xffffff7f
mov ecx, dword [esi + 0x3434]
lea eax, [edx + ebp + 0x134]
lea eax, [esi + 0xf0]
push eax
lea edx, [ecx + ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0x10c]
mov ecx, dword [esi + 0x3434]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
mov dword [ecx + ebp + 0x2c], eax
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x38]
push edx
mov edx, dword [esi + 0x39c]
lea eax, [esp + 0x2c]
push eax
push ecx
push edx
call fcn.004ea180
test eax, eax
je 0x4a84b9
mov eax, dword [esi + 0x138]
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx]
mov ecx, dword [esp + 0x38]
mov byte [ecx + eax], 0x20
jmp 0x4a84b9
mov eax, dword [esi + 0x3434]
mov edx, dword [eax + ebp + 0x134]
mov edi, ebx
imul edi, edi, 0x170
mov dword [edi + eax + 0x134], edx
mov eax, dword [esi + 0x3434]
mov ecx, dword [eax + ebp + 0xb0]
mov dword [edi + eax + 0xb0], ecx
mov eax, dword [esi + 0x3434]
mov edx, dword [edi + eax + 0xb0]
mov ecx, dword [eax + ebp + 0xb4]
mov dword [edi + eax + 0xb4], ecx
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + eax + 0xb4]
mov eax, dword [eax + ebp + 0x140]
push ecx
push esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], eax
call fcn.004ad240
mov eax, dword [esi + 0x3434]
lea edx, [eax + ebp]
push 0x170
push edx
add eax, edi
push eax
call fcn.004e29c0
mov ecx, dword [esi + 0x500]
mov edx, dword [esp + 0x2c]
add esp, 0x14
push 1
push 0x5a0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esi + 0x504]
push 0x5a0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [esp + 0x24]
push eax
push edx
push esi
call fcn.004e13e0
mov eax, dword [esi + 0x3434]
mov ecx, dword [esp + 0x5c]
push ebx
push esi
mov dword [edi + eax + 0x140], ecx
call fcn.004ac1d0
add esp, 0x1c
jmp 0x4a8442
mov ecx, dword [eax + 0x88]
test ecx, ecx
jne 0x4a8347
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 0x3a0]
push edx
push eax
push esi
call fcn.004e3640
add esp, 0xc
jmp 0x4a8442
cmp ecx, 2
je 0x4a8598
cmp ecx, 6
je 0x4a8598
cmp ecx, 1
je 0x4a836c
cmp ecx, 9
jne 0x4a8442
cmp ecx, 1
jne 0x4a8387
mov ecx, dword [eax + 0xa0]
push ecx
call fcn.004e4260
mov edx, dword [esi + 0x3434]
mov dword [edx + ebp + 0x90], eax
jmp 0x4a83a0
mov eax, dword [eax + 0xa0]
push eax
call fcn.004e41e0
mov ecx, dword [esi + 0x3434]
mov dword [ecx + ebp + 0x94], eax
mov edx, dword [esi + 0x3434]
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
add esp, 4
push 1
mov dword [edx + ebp + 0xa0], 0
mov eax, dword [esi + 0x500]
mov ecx, dword [esi + 0x3434]
mov edx, dword [ecx + ebp + 0xb4]
push 0x5a0
push eax
push edx
call edi
mov ecx, dword [esi + 0x3434]
mov edx, dword [ecx + ebp + 0xb0]
push eax
mov eax, dword [esi + 0x504]
push 0x5a0
push eax
push edx
call edi
push eax
mov eax, dword [esp + 0x28]
push eax
push esi
call fcn.004e13e0
mov ecx, dword [esi + 0x3434]
lea eax, [ecx + ebp]
add esp, 0x14
cmp dword [eax + 0xa8], 0
jne 0x4a8422
mov edx, dword [eax + 0x128]
mov dword [eax + 0xa8], edx
mov eax, dword [esi + 0x3434]
add eax, ebp
cmp dword [eax + 0xac], 0
jne 0x4a8442
mov ecx, dword [eax + 0x140]
mov edx, dword [ecx + 0x60]
mov dword [eax + 0xac], edx
cmp byte [esi + 0x58ca], 0x33
jae 0x4a8476
mov eax, dword [esi + 0x3434]
mov ecx, dword [eax + ebp + 0xb4]
add eax, ebp
mov dword [eax + 0x110], ecx
mov edx, dword [esi + 0x3434]
mov ecx, dword [edx + ebp + 0xb0]
lea eax, [edx + ebp]
mov dword [eax + 0x114], ecx
mov edx, dword [esp + 0x1c]
push edx
push esi
call fcn.004ca4b0
add esp, 8
test dword [esi + 0xa15c], 0x10000000
je 0x4a849e
mov eax, dword [esi + 0x3434]
mov dword [eax + ebp + 0x64], 0
mov ecx, dword [esi + 0x3434]
cmp dword [ecx + ebp + 0x64], 0
je 0x4a84b9
mov edx, dword [esp + 0x1c]
push edx
push esi
call fcn.0052c410
add esp, 8
mov eax, dword [esi + 0x3434]
test byte [eax + ebp + 0x134], 0x80
jne 0x4a8598
mov edi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3a0]
push 1
push edi
push ecx
push esi
call fcn.004a2b60
add esp, 0x10
test eax, eax
jne 0x4a8598
mov edx, dword [esi + 0x3434]
imul edi, edi, 0x170
mov ecx, dword [edi + edx + 0x2c]
lea eax, [edi + edx]
push ecx
add eax, 8
push eax
lea edx, [esp + 0x2a8]
push str.Font:__s__TwipsSize:__d
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x2b0]
push eax
push 0x2a
push esi
call fcn.004e26e0
add esp, 0x1c
jmp 0x4a871a
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x4a8542
push eax
call fcn.004e2860
add esp, 4
mov edx, dword [esi + 0x3434]
mov eax, dword [edx + ebp + 0xa0]
test eax, eax
je 0x4a855c
push eax
call fcn.004e2860
add esp, 4
mov eax, dword [esi + 0x3434]
mov eax, dword [eax + ebp + 0x80]
test eax, eax
je 0x4a8574
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [esi + 0x3434]
mov eax, dword [ecx + ebp + 0xd4]
test eax, eax
je 0x4a858e
push eax
call fcn.004e2860
add esp, 4
push ebx
push esi
call fcn.004ac1d0
add esp, 8
mov ebx, dword [esp + 0x1c]
add ebx, 1
add ebp, 0x170
cmp ebx, dword [esi + 0x343c]
mov dword [esp + 0x1c], ebx
jl 0x4a8070
xor ebx, ebx
cmp dword [esi + 0x343c], ebx
jle 0x4a861e
xor ebp, ebp
lea edi, [ebx + 2]
jmp 0x4a85d0
mov ecx, dword [esi + 0x3434]
cmp dword [ecx + ebp + 0x13c], 0
lea eax, [ecx + ebp]
je 0x4a860d
test byte [eax + 0x134], 0x80
je 0x4a860d
mov ecx, dword [eax + 0x88]
cmp ecx, edi
je 0x4a8603
cmp ecx, 6
jne 0x4a860d
cmp dword [eax + 0x144], edi
je 0x4a860d
push ebx
push esi
call fcn.004cdc70
add esp, 8
add ebx, 1
add ebp, 0x170
cmp ebx, dword [esi + 0x343c]
jl 0x4a85d0
mov edx, dword [esi + 0x3434]
mov eax, dword [edx]
push eax
mov dword [esi + 0x3b4], eax
mov dword [esi + 0x3b0], eax
mov eax, dword [esi + 0x3a0]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esi + 0x3a0]
lea ecx, [esi + 0x3cc]
push ecx
push edx
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
push esi
call fcn.004d79d0
add esp, 4
cmp dword [esi + 0x24], 0
je 0x4a866c
push esi
call fcn.005109e0
add esp, 4
xor ebp, ebp
cmp dword [esi + 0x2b3c], ebp
jle 0x4a8706
mov ebx, dword [sym.imp.KERNEL32.dll_MulDiv]
xor edi, edi
jmp 0x4a8690
mov eax, dword [esi + 0x500]
mov ecx, dword [esi + 0x2b38]
mov edx, dword [edi + ecx + 0xc]
push 0x5a0
push eax
push edx
call ebx
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx], eax
mov edx, dword [esi + 0x500]
mov eax, dword [esi + 0x2b38]
mov ecx, dword [edi + eax + 0x10]
push 0x5a0
push edx
push ecx
call ebx
mov edx, dword [esi + 0x2b38]
mov dword [edi + edx + 4], eax
mov eax, dword [esi + 0x500]
mov ecx, dword [esi + 0x2b38]
mov edx, dword [edi + ecx + 0x14]
push 0x5a0
push eax
push edx
call ebx
mov ecx, dword [esi + 0x2b38]
mov dword [edi + ecx + 8], eax
add ebp, 1
add edi, 0x58
cmp ebp, dword [esi + 0x2b3c]
jl 0x4a8690
mov edx, dword [esi + 0x6ec]
push edx
call fcn.004e2910
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x688]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005aac48
add esp, 0x67c
ret