Function at 0x473760
Capabilities:
Contain obfuscated stackstrings
Parse credit card information

Disassembly:
push 0xffffffffffffffff
push 0x4dccab
mov eax, dword fs:[0]
push eax
mov eax, 0x10cf4
mov dword fs:[0], esp
call fcn.004d5830
mov eax, dword [esp + 0x10d10]
push ebx
push ebp
mov ebp, dword [esp + 0x10d0c]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edi
test eax, eax
je 0x4737dd
lea edx, [esp + 0xec]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4737a4
mov eax, dword [esp + 0x10d24]
mov dword [esp + 0x24], eax
test eax, eax
je 0x4737fa
lea edx, [eax + 2]
mov eax, edx
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4737d8
cmp ecx, 9
jne 0x473f1e
add eax, 2
jmp 0x4737c7
cmp word [esp + 0x10d18], 3
jne 0x47388a
xor eax, eax
mov word [esp + 0xec], ax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ebp
mov byte [esp + 0x13], 0
mov cx, word [0x516510]
mov byte [esp + 0x1f], 0
cmp word [ebp], cx
jne 0x473f91
movzx eax, word [ebp + 2]
add ebp, 2
cmp eax, 0x20
je 0x473819
cmp eax, 9
je 0x473819
mov dword [esp + 0x20], ebp
cmp word [esp + 0x10d18], 0
jne 0x4749b4
cmp byte [esp + 0x13], 0
je 0x4748d9
cmp word [esp + 0x10d1c], 0
jne 0x4748d9
lea ebx, [esp + 0xec]
call fcn.0046c620
movzx eax, ax
mov dword [esp + 0x10d18], eax
test ax, ax
jne 0x4749b4
call fcn.0046c660
movzx ecx, ax
mov dword [esp + 0x10d1c], ecx
jmp 0x4748e8
push 6
push 0x50b8bc
call fcn.004a4b10
add esp, 4
push eax
push ebp
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x4738c6
mov ecx, dword [0x5165ec]
mov ebx, dword [ecx + 0xb4]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff80
add ebx, 0xc1
mov dword [esp + 0x14], ebx
jmp 0x473934
mov edx, dword [0x5165ec]
cmp dword [edx + 0xb4], 0
je 0x473efc
push 5
push 0x50b8dc
call fcn.004a4b10
add esp, 4
push eax
push ebp
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x473907
mov dword [esp + 0x14], 0x42
mov ebx, dword [esp + 0x14]
lea eax, [ebp + 0xa]
jmp 0x473937
push 6
push 0x4e9ce8
call fcn.004a4b10
add esp, 4
push eax
push ebp
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x473efc
mov dword [esp + 0x14], 0x62
mov ebx, dword [esp + 0x14]
lea eax, [ebp + 0xc]
mov ecx, dword [edi + 0x270]
mov dword [0x51e5a0], ecx
mov edx, dword [edi + 0x26c]
mov dword [0x51e59c], edx
movzx ecx, word [eax]
test cx, cx
je 0x473e96
cmp ecx, 0x20
je 0x473969
cmp ecx, 9
jne 0x473efc
call fcn.00409d80
mov esi, eax
cmp word [esi], 0
je 0x473e96
movzx edi, word [esi + 2]
xor eax, eax
push eax
push esi
mov word [esi + 2], ax
call fcn.004afad0
add esp, 8
mov word [esi + 2], di
mov edi, dword [esp + 0x18]
test eax, eax
je 0x473efc
cmp byte [edi + 0x44], 0
mov ecx, dword [0x5165ec]
je 0x4739fb
mov eax, dword [ecx + 0xb4]
cmp byte [eax + 0x3c], 0
jne 0x4739fb
cmp ebx, 0x62
je 0x4739c7
cmp ebx, 0x42
setne cl
add cl, 0x41
mov byte [eax + 0x3c], cl
mov eax, dword [edi + 4]
test eax, eax
je 0x473a2d
movzx eax, word [eax]
cmp eax, 9
jb 0x4739db
cmp eax, 0x20
jbe 0x4739f4
cmp eax, 0x21
je 0x4739f4
cmp eax, 0x69
jb 0x4739ea
cmp eax, 0x6b
jbe 0x4739f4
cmp eax, 0x6f
jb 0x473a2d
cmp eax, 0x71
ja 0x473a2d
mov byte [esp + 0x13], 1
jmp 0x473a32
mov eax, dword [ecx + 0xb4]
test eax, eax
je 0x4739c7
movzx edx, byte [eax + 0x3c]
cmp ebx, edx
jne 0x4739c7
cmp ebx, 0x41
jne 0x473a1d
push ebp
push 0x50b8f8
jmp 0x473ee7
cmp ebx, 0x42
jne 0x4739c7
push ebp
push 0x50b978
jmp 0x473ee7
mov byte [esp + 0x13], 0
cmp word [esi], 0
mov byte [esp + 0x1f], 0
mov ebp, esi
je 0x473ec2
push str.hXzr
call fcn.004a4b10
mov ebx, eax
add esp, 4
mov eax, ebp
call fcn.00409d30
mov dword [esp + 0x28], eax
test eax, eax
jne 0x473a7d
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x473a66
sub eax, edx
sar eax, 1
lea eax, [ebp + eax*2]
mov dword [esp + 0x28], eax
mov esi, eax
mov eax, dword [0x5165ec]
sub esi, ebp
sar esi, 1
cmp dword [eax + 0xb4], 0
je 0x473b77
mov eax, dword [eax + 0xb4]
xor ebx, ebx
cmp dword [eax + 0x10], ebx
jle 0x473ad7
xor edi, edi
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + edi]
mov eax, dword [ecx + 0x18]
push 0xffffffffffffffff
push esi
mov ecx, ebp
call fcn.004ac110
add esp, 8
test eax, eax
je 0x473de2
mov edx, dword [0x5165ec]
mov eax, dword [edx + 0xb4]
inc ebx
add edi, 0x10
cmp ebx, dword [eax + 0x10]
jl 0x473aa4
mov ecx, dword [esp + 0x18]
push 0
push 2
push 0
push esi
push ebp
call fcn.00421a00
mov ebx, eax
test ebx, ebx
je 0x473b0f
movzx ecx, byte [ebx + 0x16]
mov eax, dword [esp + 0x14]
xor ecx, eax
test ecx, 0xffffffbf
jne 0x473dff
cmp eax, 0x62
je 0x473dff
xor ebx, ebx
cmp dword [esp + 0x14], 0x41
je 0x473b6f
mov edx, dword [0x5165ec]
mov eax, dword [edx + 0xb4]
xor edi, edi
cmp dword [eax + 0x34], edi
jle 0x473b6f
lea esp, [esp]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + edi*4]
mov ecx, dword [ecx + 0x18]
push esi
push 0xffffffffffffffff
mov eax, ebp
call fcn.004ac110
add esp, 8
test eax, eax
je 0x473b5e
mov edx, dword [0x5165ec]
mov eax, dword [edx + 0xb4]
inc edi
cmp edi, dword [eax + 0x34]
jl 0x473b30
jmp 0x473b6f
mov eax, dword [0x5165ec]
mov ecx, dword [eax + 0xb4]
mov edx, dword [ecx + 0x24]
mov ebx, dword [edx + edi*4]
test ebx, ebx
jne 0x473dff
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ebx
push esi
push ebp
call fcn.004219a0
mov edi, eax
test edi, edi
je 0x473ddb
mov al, byte [edi + 0x17]
test al, al
jne 0x473b9e
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x473e79
mov eax, dword [0x51e6c8]
push 0xffffffffffffffff
push esi
mov ecx, ebp
call fcn.004ac110
add esp, 8
test eax, eax
je 0x473e79
cmp ebx, 0x41
jne 0x473bf4
mov ecx, dword [0x5165ec]
mov edx, dword [ecx + 0xb4]
cmp dword [edx + 0x34], 0x7d0
jge 0x473e3f
mov eax, edx
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x24]
mov dword [eax + edx*4], edi
mov eax, dword [ecx + 0xb4]
inc dword [eax + 0x34]
jmp 0x473bff
cmp ebx, 0xc1
jne 0x473bff
mov byte [edi + 0x16], bl
mov eax, dword [esp + 0x28]
call fcn.00409d80
movzx ecx, word [eax]
cmp ecx, 0x3d
ja case.0x473c17.1
movzx ecx, byte [ecx + 0x4757bc]
jmp dword [ecx*4 + 0x4757a8]
add eax, 2
call fcn.00409d80
mov ebx, dword [esp + 0x18]
mov ebp, eax
jmp 0x473daf
cmp word [eax + 2], 0x3d
jne 0x473e5c
add eax, 4
xor bl, bl
xor dl, dl
xor edi, edi
xor esi, esi
jmp 0x473c50
movzx ecx, word [eax + esi*2]
cmp ecx, 0x2c
jne 0x473cfe
test dl, dl
jne case.0x473d0a.1
test edi, edi
jg case.0x473d0a.1
lea edi, [eax + esi*2]
lea eax, [edi - 2]
mov edx, ebp
call fcn.00409da0
mov esi, eax
movzx edx, word [esi + 2]
xor eax, eax
mov dword [esp + 0x28], edx
mov word [esi + 2], ax
test bl, bl
je 0x473ce3
lea edx, [esp + 0x8cf4]
mov eax, ebp
sub edx, ebp
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x473ca0
push 0
push 0xffffffffffffffff
push 1
push 1
push 0x4e9d68
call fcn.004a4b10
add esp, 4
push eax
lea ecx, [esp + 0x8d08]
push 0x50bb7c
push ecx
xor eax, eax
call fcn.004ac860
add esp, 0x1c
lea ebp, [esp + 0x8cf4]
cmp dword [esp + 0x14], 0x62
mov ebx, dword [esp + 0x18]
jne 0x473d32
mov byte [ebx + 0x45], 1
jmp 0x473d5b
add eax, 2
mov bl, 1
jmp 0x473c41
cmp ecx, 0x7d
ja case.0x473d0a.1
movzx ecx, byte [ecx + 0x475810]
jmp dword [ecx*4 + 0x4757fc]
test dl, dl
sete dl
inc esi
jmp 0x473c50
test dl, dl
jne case.0x473d0a.1
inc edi
inc esi
jmp 0x473c50
test dl, dl
jne case.0x473d0a.1
dec edi
inc esi
jmp 0x473c50
cmp byte [esp + 0x13], 0
je 0x473d5b
cmp byte [esp + 0x1f], 0
jne 0x473d5b
push 0
push 0
push 0
push 0x73
push ebx
call fcn.00475b80
test eax, eax
je 0x473ddb
mov byte [esp + 0x1f], 1
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, ebx
call fcn.00473760
test eax, eax
je 0x473ddb
cmp dword [esp + 0x14], 0x62
jne 0x473d92
mov eax, dword [ebx + 4]
mov byte [ebx + 0x45], 0
movzx edx, word [eax]
mov dword [eax + 0x10], edx
mov eax, dword [ebx + 4]
mov ecx, 8
mov word [eax], cx
mov dx, word [esp + 0x28]
mov word [esi + 2], dx
cmp word [edi], 0x2c
jne 0x473dad
lea eax, [edi + 2]
call fcn.00409d80
mov ebp, eax
jmp 0x473daf
mov ebp, edi
cmp word [ebp], 0
jne 0x473a43
cmp byte [esp + 0x1f], 0
je 0x473ec2
push 0
push 0
push 0
push 0x74
push ebx
call fcn.00475b80
test eax, eax
jne 0x473ec2
xor eax, eax
jmp 0x47578b
push ebp
push str.P__09_3l950x_c46c4_2___o
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
test byte [ebx + 0x16], 0x40
je 0x473e22
push 0x4eea34
call fcn.004a4b10
mov ecx, dword [esp + 0x1c]
add esp, 4
push ebp
push eax
call fcn.00477180
jmp 0x47578b
push 0x50ba70
call fcn.004a4b10
mov ecx, dword [esp + 0x1c]
add esp, 4
push ebp
push eax
call fcn.00477180
jmp 0x47578b
push ebp
push 0x50bb3c
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
push ebp
push 0x509d38
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
push ebp
push 0x50bad8
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
cmp byte [edi + 0x44], 0
je 0x473ee1
mov eax, dword [0x5165ec]
mov ecx, dword [eax + 0xb4]
mov al, byte [ecx + 0x3c]
test al, al
jne 0x473ecc
cmp ebx, 0x42
jne 0x473ebf
mov dword [esp + 0x14], 0x46
mov ebx, dword [esp + 0x14]
mov byte [ecx + 0x3c], bl
mov eax, 1
jmp 0x47578b
cmp al, 0x46
jne 0x473ee1
cmp ebx, 0x62
jne 0x473ee1
mov byte [ecx + 0x3c], 0x66
lea eax, [ebx - 0x61]
jmp 0x47578b
push ebp
push 0x509d38
call fcn.004a4b10
add esp, 4
mov ecx, edi
push eax
call fcn.00477180
jmp 0x47578b
push 1
push ebp
lea ecx, [esp + 0xf4]
push ecx
push edi
call fcn.0046c6a0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4737c2
jmp 0x47578b
mov ebp, eax
movzx eax, word [edx]
mov dword [esp + 0x20], ebp
cmp ax, word [0x516510]
je 0x473f87
test ax, ax
je 0x473f87
cmp eax, 0x20
je 0x473f87
cmp eax, 9
je 0x473f87
cmp eax, 0x28
jne 0x4737fe
lea edx, [esp + 0xec]
push 0x4ee7bc
push edx
call fcn.004c9bad
add esp, 8
test eax, eax
je 0x473f87
push 0x4ee7c4
call fcn.004a4b10
add esp, 4
push eax
lea eax, [esp + 0xf0]
push eax
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x4737fe
mov byte [esp + 0x13], 1
jmp 0x473803
cmp word [esp + 0x10d18], 0
jne 0x4749b8
cmp word [esp + 0x10d1c], 0
jne case.0x474502.39
cmp byte [esp + 0x13], 0
je 0x4744e1
lea edx, [esp + 0xec]
push 0x4ee7bc
push edx
call fcn.004c9bad
add esp, 8
test eax, eax
jne 0x4744e1
mov ebp, dword [esp + 0x20]
movzx eax, word [ebp]
cmp eax, 0x28
je case.0x4740f9.34
cmp ax, word [0x516514]
jne 0x474007
movzx eax, word [ebp + 2]
cmp eax, 0x20
je case.0x4740f9.34
cmp eax, 9
je case.0x4740f9.34
mov cx, word [0x516510]
mov eax, 0x20
mov word [esp + 0x3c], ax
mov eax, 0x3a
mov word [esp + 0x3e], cx
mov edi, 0x3d
mov word [esp + 0x48], ax
mov ecx, edi
lea ebx, [esp + 0x3c]
mov eax, ebp
mov dword [esp + 0x40], 0x90028
mov dword [esp + 0x44], 0x3e003c
mov word [esp + 0x4a], cx
mov dword [esp + 0x4c], 0x2d002b
mov dword [esp + 0x50], 0x2f002a
mov dword [esp + 0x54], 0x7e0021
mov dword [esp + 0x58], 0x7c0026
mov dword [esp + 0x5c], 0x5b005e
mov dword [esp + 0x60], 0x3f002e
mov dword [esp + 0x64], 0x7b
call fcn.00409d30
test eax, eax
je 0x474093
call fcn.00409d80
mov esi, eax
jmp 0x4740b3
mov eax, ebp
lea edx, [eax + 2]
jmp 0x4740a0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4740a0
sub eax, edx
sar eax, 1
lea esi, [ebp + eax*2]
push 3
push 0x4eb9ac
push ebp
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x4740e1
movzx eax, word [ebp + 6]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x4740e1
mov bl, 1
jmp 0x4740e3
xor bl, bl
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x4740f9.34
movzx edx, byte [eax + 0x4758b4]
jmp dword [edx*4 + 0x475890]
mov dword [esp + 0x10d18], 0x12
jmp 0x47413d
movzx eax, word [esi + 2]
sub eax, edi
je 0x474129
dec eax
je 0x474210
mov dword [esp + 0x10d18], 0x16
jmp 0x47413d
mov dword [esp + 0x10d18], 0x17
mov ecx, 0x20
mov word [esi + 2], cx
mov ax, word [0x516510]
mov word [esi], ax
mov eax, dword [esp + 0x10d18]
cmp ax, 0xf
je 0x47415d
cmp ax, 0x10
jne 0x47382e
mov eax, 0x50a684
mov ecx, esi
call fcn.004ac420
mov esi, eax
test esi, esi
je 0x4741b3
nop
movzx ecx, word [esi - 2]
push ecx
push 0x4ebd9c
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x4741a0
movzx edx, word [esi + 6]
push edx
push 0x4ebd9c
call fcn.004ca9cb
add esp, 8
test eax, eax
jne 0x4744cb
lea ecx, [esi + 6]
mov eax, 0x50a684
call fcn.004ac420
mov esi, eax
test esi, esi
jne 0x474170
mov eax, dword [esp + 0x10d14]
push eax
push 0x50bb90
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
cmp word [esi + 2], di
jne 0x4741f6
mov edx, 0x20
mov dword [esp + 0x10d18], 0x15
mov word [esi + 2], dx
jmp 0x47413d
mov dword [esp + 0x10d18], 0x14
jmp 0x47413d
cmp word [esi + 2], di
jne case.0x4740f9.34
mov eax, 0x20
mov dword [esp + 0x10d18], 0x13
mov word [esi + 2], ax
jmp 0x47413d
test bl, bl
jne case.0x4740f9.34
push 7
push str.2__0_0
call fcn.004a4b10
add esp, 4
push eax
push esi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne case.0x4740f9.34
mov eax, 0x20
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esp + 0x10d18], 0xf
mov word [esi + 0xc], ax
jmp 0x47413d
test bl, bl
jne case.0x4740f9.34
push 8
push str.3_3__6
call fcn.004a4b10
add esp, 4
push eax
push esi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne case.0x4740f9.34
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esp + 0x10d18], 0xb
mov dword [esi + 0xc], eax
jmp 0x47413d
mov ax, word [esi + 2]
call fcn.00409d00
movzx eax, ax
add eax, 0xffffffb2
cmp eax, 0x25
ja case.0x4740f9.34
movzx edx, byte [eax + 0x475910]
jmp dword [edx*4 + 0x475904]
test bl, bl
je 0x4742fb
mov dword [esp + 0x10d18], 0x11
jmp 0x474354
lea eax, [esi + 4]
call fcn.00409d80
push 3
mov ebx, eax
push 0x50bb80
push ebx
call fcn.004ca3fb
add esp, 0xc
test eax, eax
je 0x474320
mov ecx, 0xd
jmp 0x47433a
mov eax, 0x20
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov dword [ebx], eax
mov ecx, 0xe
mov word [ebx + 4], ax
mov eax, 0x20
mov dword [esp + 0x10d18], ecx
mov word [esi + 2], ax
cmp cx, 0x11
jne 0x47413d
mov eax, ebp
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x474360
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 2], 0x7b
lea eax, [ebp + eax*2 - 2]
jne 0x4749b8
xor edx, edx
mov word [eax], dx
sub eax, ebp
sar eax, 1
mov esi, ebp
call fcn.0041abe0
mov byte [esp + 0x1f], 1
jmp 0x4749b8
test bl, bl
je 0x4743aa
mov dword [esp + 0x10d18], 0x11
jmp 0x474354
mov dword [esp + 0x10d18], 9
jmp 0x474134
push 3
push 0x50bb80
push esi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne case.0x4740f9.34
movzx ecx, word [esi + 6]
lea eax, [esi + 6]
cmp ecx, 0x20
je 0x4743e7
cmp ecx, 9
jne case.0x4740f9.34
mov ecx, 0x20
movzx edx, cx
mov ecx, edx
shl edx, 0x10
or ecx, edx
mov dword [esi], ecx
mov word [esi + 4], cx
call fcn.00409d80
push 2
mov edi, eax
push 0x50bb88
push edi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x474438
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [esp + 0x10d18], 0xa
mov dword [edi], eax
jmp 0x47413d
push 7
push str.2__0_0
call fcn.004a4b10
add esp, 4
push eax
push edi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x474480
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [esp + 0x10d18], 0x10
mov word [edi + 0xc], ax
jmp 0x47413d
push 8
push str.3_3__6
call fcn.004a4b10
add esp, 4
push eax
push edi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x47413d
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [esp + 0x10d18], 0xc
mov dword [edi + 0xc], eax
jmp 0x47413d
mov cx, word [0x516510]
mov word [esi], cx
mov dword [esi + 2], 0x200020
jmp 0x47382e
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx + 2]
lea esi, [ecx + 2]
movzx ecx, word [ecx]
lea edx, [ecx - 0x26]
cmp edx, 0x56
ja case.0x474502.39
movzx edx, byte [edx + 0x475960]
jmp dword [edx*4 + 0x475938]
mov ebp, dword [esp + 0x20]
mov edi, 1
mov dword [esp + 0x10d18], edi
jmp 0x4748b0
cmp eax, 0x3d
jne case.0x474502.39
mov edi, 2
mov dword [esp + 0x10d18], edi
jmp 0x4747e6
cmp word [esp + 0xec], 0x2b
jne 0x474552
cmp word [esp + 0xee], 0
jne 0x474552
mov cl, 1
jmp 0x47455d
xor cl, cl
cmp eax, 0x3d
jne case.0x474502.39
mov edi, 4
mov dword [esp + 0x10d18], edi
test cl, cl
je 0x4747d2
mov eax, esi
call fcn.00409d80
mov ebx, str.__t____:_______._
mov edi, eax
call fcn.00409d30
test eax, eax
je 0x474784
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
cmp word [esp + 0xec], 0x2d
jne 0x4745c6
cmp word [esp + 0xee], 0
jne 0x4745c6
mov cl, 1
mov edi, 5
jmp 0x474562
xor cl, cl
cmp eax, 0x3d
jne case.0x474502.39
lea edi, [eax - 0x38]
jmp 0x474562
cmp eax, 0x3d
jne case.0x474502.39
mov edi, 6
mov dword [esp + 0x10d18], edi
jmp 0x4747e6
cmp eax, 0x3d
jne 0x474606
mov edi, 7
mov dword [esp + 0x10d18], edi
jmp 0x4747e6
cmp eax, 0x2f
jne case.0x474502.39
mov eax, dword [esp + 0x20]
cmp word [eax + 4], 0x3d
jne case.0x474502.39
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
cmp eax, 0x3d
jne case.0x474502.39
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
cmp ax, cx
jne case.0x474502.39
mov ecx, dword [esp + 0x20]
cmp word [ecx + 4], 0x3d
jne case.0x474502.39
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
mov ebp, 0x3d
cmp ax, bp
jne 0x4746b5
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
mov eax, esi
call fcn.0042f4a0
cmp word [eax], 0x28
je 0x474769
cmp eax, esi
je case.0x474502.39
call fcn.00409d80
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x5b
je 0x47461e
test ax, ax
je 0x47461e
cmp word [esi + 2], bp
jne 0x474711
push str.jcmg_keo
mov ebx, eax
call fcn.004a4b10
add esp, 4
push ebx
push eax
call fcn.004ca9cb
add esp, 8
test eax, eax
jne 0x47461e
movzx eax, word [esi]
cmp word [esi + 2], ax
jne 0x47474b
push eax
push 0x50bc04
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x474736
cmp word [esi + 4], bp
je 0x47461e
movzx eax, word [esi]
cmp eax, 0x2b
je 0x47461e
cmp eax, 0x2d
je 0x47461e
cmp ax, 0x2e
jne case.0x474502.39
add esi, 2
mov eax, esi
call fcn.0042f4a0
cmp word [eax], 0x28
jne 0x4746c6
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
mov esi, edi
lea ecx, [esi + 2]
lea esp, [esp]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x474790
sub esi, ecx
sar esi, 1
lea edx, [esi + esi + 2]
push edx
push edi
mov edi, dword [esp + 0x10d1c]
push edi
call fcn.004ca630
mov ax, word [0x516510]
mov word [edi + esi*2], ax
mov eax, edi
add esp, 0xc
mov dword [edi + esi*2 + 2], 0x31
mov dword [esp + 0x20], eax
jmp 0x47382e
cmp di, 3
je 0x4748c9
cmp di, 1
je 0x4748a6
mov ebp, dword [esp + 0x20]
xor cl, cl
xor ebx, ebx
mov edx, 2
jmp 0x474800
movzx eax, word [ebp + edx*2]
cmp ax, word [0x516510]
jne 0x474849
test cl, cl
jne case.0x474855.1
test ebx, ebx
jg case.0x474855.1
cmp word [ebp + edx*2], 0
je 0x4748aa
cmp di, 4
je 0x474874
cmp di, 5
je 0x474874
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
cmp eax, 0x7d
ja case.0x474855.1
movzx eax, byte [eax + 0x4759cc]
jmp dword [eax*4 + 0x4759b8]
test cl, cl
sete cl
inc edx
jmp 0x474800
test cl, cl
jne case.0x474855.1
inc ebx
inc edx
jmp 0x474800
test cl, cl
jne case.0x474855.1
dec ebx
inc edx
jmp 0x474800
lea eax, [ebp + edx*2 + 2]
call fcn.00409d80
mov ebx, str.__t____:_______._
call fcn.00409d30
test eax, eax
je 0x4748aa
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
jmp 0x47382e
mov ebp, dword [esp + 0x20]
cmp di, 3
je 0x4748c9
mov cx, word [0x516510]
mov word [ebp], cx
cmp di, 1
je 0x4748c9
mov edx, 0x20
mov word [esi], dx
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x20], eax
jmp 0x47382e
cmp word [esp + 0x10d18], 0
jne 0x4749b4
cmp word [esp + 0x10d1c], 0
jne 0x4749b4
mov esi, dword [esp + 0x20]
cmp word [esi], 0x7b
jne case.0x47491f.34
lea ebx, [esp + 0xec]
call fcn.0046c620
movzx eax, ax
lea ecx, [eax - 0x21]
cmp ecx, 0x50
ja case.0x47491f.34
movzx edx, byte [ecx + 0x475a58]
jmp dword [edx*4 + 0x475a4c]
cmp word [esi + 2], 0
mov byte [esp + 0x1f], 1
jne case.0x47491f.34
mov ecx, eax
mov dword [esp + 0x10d18], ecx
test ax, ax
jne 0x4749b4
movzx edx, word [esi]
push edx
push str.__t____:_______._
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x474a19
movzx eax, word [esi]
cmp eax, 0x2b
je 0x474966
cmp eax, 0x2d
jne 0x4749dc
cmp word [esi + 2], ax
jne 0x4749dc
cmp word [esi + 4], 0
je 0x47497a
mov eax, 3
jmp 0x47499b
mov dx, word [0x516510]
xor ecx, ecx
cmp eax, 0x2b
setne cl
mov word [esi], dx
add ecx, 4
movzx eax, cx
mov ecx, 0x31
mov word [esi + 2], cx
mov edi, dword [esp + 0x10d14]
mov esi, edi
mov dword [esp + 0x10d18], eax
mov dword [esp + 0x20], esi
test ax, ax
je 0x474a20
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x10d18]
movzx ecx, di
lea eax, [ecx - 0x21]
cmp eax, 0x50
ja case.0x4749d5.34
movzx edx, byte [eax + 0x475ab8]
jmp dword [edx*4 + 0x475aac]
cmp eax, 0x3f
je 0x4749ff
push 0x3f
push esi
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x474a19
push 0x3a
push eax
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x474a19
mov edx, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], edx
mov ebp, edx
jmp 0x4749b8
mov edi, dword [esp + 0x10d14]
movzx eax, word [esi]
cmp eax, 0x28
je 0x474aa1
cmp eax, 0x5b
je 0x474aa1
cmp word [edi], 0x28
je 0x474aa1
push 3
push 0x50bc40
push edi
call fcn.004ca3fb
add esp, 0xc
test eax, eax
jne 0x474a55
movzx eax, word [edi + 6]
cmp eax, 0x20
je 0x474aa1
cmp eax, 9
je 0x474aa1
push 0x50a6c4
push edi
call fcn.004ca9f2
add esp, 8
test eax, eax
je 0x474a84
push 0x50bc48
call fcn.004a4b10
mov ecx, dword [esp + 0x1c]
add esp, 4
push edi
push eax
call fcn.00477180
jmp 0x47578b
push 0x509d38
call fcn.004a4b10
mov ecx, dword [esp + 0x1c]
add esp, 4
push edi
push eax
call fcn.00477180
jmp 0x47578b
mov eax, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov dword [esp + 0x20], eax
mov ebp, eax
jmp 0x4749b8
cmp word [ebp], 0x7b
jne case.0x4749d5.34
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x270]
push 0
push 0
push 0
mov dword [0x51e5b0], eax
mov ecx, dword [esi + 0x26c]
push edi
push esi
mov dword [0x51e5ac], ecx
call fcn.00475b80
test eax, eax
je 0x473ddb
cmp word [ebp], 0x7b
jne 0x474b1c
push 0
push 0
push 0
push 0x73
push esi
call fcn.00475b80
test eax, eax
je 0x473ddb
lea eax, [ebp + 2]
call fcn.00409d80
mov ebp, eax
cmp word [ebp], 0
je 0x473ec2
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, esi
jmp 0x475786
test di, di
je 0x474b4f
imul ecx, ecx, 0x15
add ecx, 0x5168a0
mov dword [esp + 0x30], ecx
jmp 0x474b63
movzx eax, word [esp + 0x10d1c]
imul eax, eax, 0x15
add eax, 0x518100
mov dword [esp + 0x30], eax
push 0x8002
lea edx, [esp + 0xcf0]
push 0
push edx
call fcn.004d2f90
mov edx, dword [esp + 0x10d34]
add esp, 0xc
test edx, edx
je 0x474bba
mov ecx, dword [esp + 0x10d2c]
mov eax, ebp
sub eax, dword [esp + 0x24]
sar eax, 1
sub ecx, eax
test ecx, ecx
jle 0x474ca8
add ecx, ecx
push ecx
lea edx, [edx + eax*2]
push edx
lea eax, [esp + 0xcf4]
push eax
call fcn.004d23c0
add esp, 0xc
jmp 0x474ca8
xor esi, esi
cmp word [ebp + esi*2], 0
mov ax, word [0x516518]
je 0x474be0
lea ebx, [ebx]
cmp word [ebp + esi*2], ax
je 0x474be0
inc esi
cmp word [ebp + esi*2], 0
jne 0x474bd0
cmp word [ebp + esi*2], 0
lea ebx, [ebp + esi*2]
je 0x474ca1
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x270]
mov dword [0x51e5a8], ecx
mov edx, dword [eax + 0x26c]
lea ecx, [ebx + 2]
mov dword [0x51e5a4], edx
movzx eax, word [ecx]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x474c21.99
movzx eax, byte [eax + 0x475b2c]
jmp dword [eax*4 + 0x475b0c]
mov edx, 7
jmp 0x474c60
mov eax, 8
mov word [ecx], ax
jmp case.0x474c21.99
mov edx, 0xc
jmp 0x474c60
mov eax, 0xa
mov word [ecx], ax
jmp case.0x474c21.99
mov edx, 0xd
jmp 0x474c60
mov eax, 9
mov word [ecx], ax
jmp case.0x474c21.99
mov edx, 0xb
mov word [ecx], dx
mov eax, ecx
lea edi, [eax + 2]
jmp 0x474c70
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x474c70
sub eax, edi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push ebx
call fcn.004d23c0
mov ecx, 1
add esp, 0xc
mov word [esp + esi*2 + 0xcec], cx
inc esi
jmp 0x474bbc
mov edi, dword [esp + 0x10d18]
mov dword [esp + 0x14], 0
cmp di, 0x22
jne 0x474e4a
xor edi, edi
mov ebx, 1
mov dword [esp + 0x24], ebx
cmp word [ebp], di
je 0x474f36
cmp ebx, 1
jle 0x474cd5
inc edi
movzx eax, word [ebp + edi*2]
cmp eax, 0x20
je 0x474cd4
cmp eax, 9
je 0x474cd4
lea edx, [edi + edi]
mov cx, word [edx + ebp]
lea eax, [edx + ebp]
cmp cx, word [0x516514]
jne 0x474d3d
cmp word [esp + edx + 0xcec], 0
jne 0x474d3d
movzx ecx, word [eax + 2]
cmp ecx, 0x20
je 0x474d10
cmp ecx, 9
jne 0x474d3d
cmp ebx, 3
jge 0x474f36
movzx ecx, word [0x516510]
lea edx, [esp + 0xcec]
push edx
push ecx
lea eax, [edi + 2]
mov ecx, ebp
call fcn.004ae460
add esp, 8
mov esi, eax
jmp 0x474dbb
cmp word [eax], 0
mov esi, edi
je 0x474d72
mov bx, word [0x516510]
mov ecx, eax
mov edi, edi
cmp word [ecx], bx
jne 0x474d60
cmp word [esp + edx + 0xcec], 0
je 0x474d6e
inc esi
lea edx, [esi + esi]
cmp word [edx + ebp], 0
lea ecx, [edx + ebp]
jne 0x474d50
mov ebx, dword [esp + 0x24]
cmp ebx, 1
jne 0x474db6
cmp word [ebp + esi*2], 0
je 0x474f36
xor edx, edx
push edx
push edx
push ebx
push edx
mov word [ebp + esi*2], dx
call fcn.004abed0
add esp, 0x10
test eax, eax
jne 0x474d9e
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], 0
mov ax, word [0x516510]
mov word [ebp + esi*2], ax
jne 0x474f36
jmp 0x474dbb
cmp ebx, 4
je 0x474dd3
inc ebx
cmp word [ebp + esi*2], 0
mov edi, esi
mov dword [esp + 0x24], ebx
jne 0x474ccf
jmp 0x474f36
push 0
push 1
lea ebx, [ebp + edi*2]
push 1
push 0
mov eax, ebx
call fcn.004abed0
add esp, 0x10
test eax, eax
jne 0x474f36
cmp word [ebp + esi*2], ax
jne 0x474e3d
mov ax, word [0x516514]
cmp word [ebx], ax
jne 0x474e3d
cmp word [esp + edi*2 + 0xcec], 0
jne 0x474e3d
movzx ecx, ax
push ecx
add ebx, 2
push ebx
call fcn.004ca9cb
add esp, 8
test eax, eax
je 0x474e3d
push 0
push 1
push 1
push 0
add eax, 2
call fcn.004abed0
add esp, 0x10
test eax, eax
jne 0x474f36
mov dword [esp + 0x14], 3
jmp 0x474f36
cmp di, 0x6a
jne 0x474f36
cmp word [ebp], 0
mov esi, ebp
je 0x474ea8
lea ecx, [ecx]
movzx eax, word [esi]
cmp eax, 0x20
je 0x474e6d
cmp eax, 9
jne 0x474e9f
movzx edx, word [esi + 2]
push edx
call fcn.004cbfb6
add esp, 4
cmp eax, 0x69
jne 0x474e9f
movzx eax, word [esi + 4]
push eax
call fcn.004cbfb6
add esp, 4
cmp eax, 0x6e
jne 0x474e9f
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x474ea8
cmp eax, 9
je 0x474ea8
add esi, 2
cmp word [esi], 0
jne 0x474e60
cmp word [esi], 0
mov dx, word [0x516510]
jne 0x474ed9
mov ecx, dword [esp + 0x10d14]
push ecx
push 0x50bc78
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
mov eax, esi
sub eax, ebp
sar eax, 1
mov ecx, 1
test eax, eax
jle 0x474ef5
cmp word [ebp + eax*2], dx
jne 0x474ef0
inc ecx
dec eax
test eax, eax
jg 0x474ee8
mov word [esi + 2], dx
cmp ecx, 1
jle 0x474f32
cmp ecx, 2
jle 0x474f27
mov edx, dword [esp + 0x10d14]
push edx
push 0x50bcc8
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
mov eax, 0x20
mov word [esi + 4], ax
jmp 0x474f36
mov word [esi + 4], dx
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x28], esi
cmp eax, esi
je 0x474f56
mov dword [esp + 0x38], eax
jmp 0x474f62
mov ecx, dword [esp + 0x30]
movsx edx, byte [ecx + 5]
mov dword [esp + 0x38], edx
xor edx, edx
mov dword [esp + 0x14], edx
cmp word [ebp], si
je 0x475114
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x38]
jge 0x475110
cmp eax, 2
jne 0x474ff1
movzx eax, word [esp + 0x10d18]
mov edi, dword [esp + 0x20]
add eax, 0xffffffe8
cmp eax, 3
ja 0x474fe5
mov ecx, dword [esp + 0x18]
push 0
lea eax, [edi + esi*2]
push eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2f4]
push eax
push ecx
call fcn.0046c6a0
mov dword [esp + 0x34], eax
test eax, eax
je 0x474fe5
lea ebx, [esp + 0x2ec]
call fcn.0046c620
movzx eax, ax
mov dword [esp + 0x24], eax
test ax, ax
jne 0x47517b
call fcn.0046c660
movzx edx, ax
mov dword [esp + 0x2c], edx
cmp word [esp + 0x2c], 0
jne 0x47517b
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
lea ebp, [eax + esi*2]
mov eax, dword [esp + 0x14]
dec edx
lea ecx, [esp + esi*2 + 0xcec]
mov dword [esp + eax*4 + 0x3c], ebp
mov dword [esp + eax*4 + 0x9c], ecx
cmp eax, edx
je 0x475174
mov dx, word [ebp]
cmp dx, word [0x516514]
jne 0x47503c
cmp word [ecx], 0
jne 0x47503c
movzx eax, word [ebp + 2]
cmp eax, 0x20
je 0x475060
cmp eax, 9
je 0x475060
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10d18]
push 0xffffffffffffffff
add ecx, 7
lea ebx, [esp + 0x40]
call fcn.0041dfa0
add esp, 4
test al, al
je 0x4750d0
movzx ecx, word [0x516510]
lea eax, [esp + 0xcec]
push eax
push ecx
mov ecx, dword [esp + 0x28]
mov eax, esi
call fcn.004ae460
add esp, 8
mov esi, eax
mov ebx, dword [esp + 0x20]
cmp word [ebx + esi*2], 0
je 0x475101
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x9c]
mov edi, dword [esp + eax*4 + 0x3c]
xor edx, edx
push ecx
mov word [ebx + esi*2], dx
call fcn.0046b800
inc esi
lea edx, [esp + 0xcf0]
add esp, 4
lea eax, [ebx + esi*2]
sub edx, ebx
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4750c3
cmp ecx, 9
jne 0x475101
cmp word [edx + eax], 0
jne 0x475101
inc esi
add eax, 2
jmp 0x4750b6
movzx eax, word [ebp]
test ax, ax
je 0x475080
mov cx, word [0x516510]
mov ebx, dword [esp + 0x20]
cmp ax, cx
jne 0x4750f4
cmp word [esp + esi*2 + 0xcec], 0
je 0x475084
movzx eax, word [ebx + esi*2 + 2]
inc esi
test ax, ax
jne 0x4750e4
jmp 0x475084
inc dword [esp + 0x14]
cmp word [ebx + esi*2], 0
jne 0x474f72
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
mov al, byte [esi + 4]
movsx ecx, al
cmp edx, ecx
jge 0x475181
cmp al, 1
mov eax, 0x50bd48
jg 0x475134
mov eax, 0x4f5ac4
mov edx, dword [esi]
push eax
push ecx
push edx
push str.rm_eh_440__f__f_7__cu_q7_______i5j
call fcn.004a4b10
add esp, 4
push eax
mov esi, 0x400
lea edi, [esp + 0x4fc]
call fcn.004ac070
mov eax, dword [esp + 0x10d24]
add esp, 0x10
push eax
mov ecx, edi
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00477180
jmp 0x47578b
inc eax
mov dword [esp + 0x14], eax
jmp 0x475110
mov edx, dword [esp + 0x14]
jmp 0x475118
xor ebx, ebx
xor eax, eax
cmp ecx, ebx
jle 0x47519e
lea esp, [esp]
mov esi, dword [esp + eax*4 + 0x3c]
inc eax
cmp word [esi], bx
je 0x4751c2
cmp eax, ecx
jl 0x475190
mov ecx, dword [esp + 0x10d1c]
cmp cx, bx
je case.default.0x4751bb
movzx eax, cx
dec eax
cmp eax, 0xc
ja case.default.0x4751bb
jmp dword [eax*4 + 0x475b44]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [edx]
push eax
push str.rm_eh_440__f00r37_____:un_4y.l_6k__88m
call fcn.004a4b10
add esp, 4
push eax
mov esi, 0x400
lea edi, [esp + 0x4f8]
call fcn.004ac070
mov ecx, dword [esp + 0x10d20]
add esp, 0xc
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, edi
push edx
call fcn.00477180
jmp 0x47578b
mov dword [esp + edx*4 + 0x3c], 0x4f0bf4
mov dword [esp + edx*4 + 0x9c], ebx
lea eax, [esp + 0x9c]
push eax
inc edx
push edx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x44]
push ecx
push 0x89
push edx
call fcn.00475b80
jmp 0x47578b
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
lea eax, [esp + 0x9c]
push eax
push 2
lea ecx, [esp + 0x44]
push ecx
push 0x89
mov ebp, 0x4f0bf4
push edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0xb4], ebx
call fcn.00475b80
test eax, eax
je 0x473ddb
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa8], edx
lea edx, [esp + 0x9c]
push edx
push 5
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xb8]
push 0x8c
push edi
mov dword [esp + 0x58], esi
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x60], ebp
mov dword [esp + 0xc0], ebx
call fcn.00475b80
jmp 0x47578b
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x9c]
push ecx
push edx
lea edx, [esp + 0x44]
push edx
push 1
push eax
call fcn.00475b80
jmp 0x47578b
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x9c]
push ecx
push edx
lea edx, [esp + 0x44]
push edx
push 4
push eax
call fcn.00475b80
jmp 0x47578b
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x9c]
push ecx
push edx
lea edx, [esp + 0x44]
push edx
push 5
push eax
call fcn.00475b80
jmp 0x47578b
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x9c]
push ecx
push edx
lea edx, [esp + 0x44]
push edx
push 6
push eax
call fcn.00475b80
jmp 0x47578b
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x9c]
push ecx
push edx
lea edx, [esp + 0x44]
push edx
push 7
push eax
call fcn.00475b80
jmp 0x47578b
mov eax, 0x12
mov dword [esp + 0x10d18], eax
jmp 0x4753de
mov eax, 0x13
mov dword [esp + 0x10d18], eax
jmp 0x4753de
mov eax, 0x14
mov dword [esp + 0x10d18], eax
jmp 0x4753de
mov eax, 0x15
mov dword [esp + 0x10d18], eax
jmp 0x4753de
mov eax, 0x16
mov dword [esp + 0x10d18], eax
jmp 0x4753de
mov eax, 0x17
mov dword [esp + 0x10d18], eax
jmp 0x4753de
mov eax, dword [esp + 0x10d18]
cmp edx, ebx
je 0x4754c9
cmp word [esp + 0x24], bx
jne 0x4754c9
cmp word [esp + 0x2c], bx
jne 0x4754c9
lea esi, [eax - 0x12]
cmp si, 0xe
ja 0x4754c9
cmp ax, 0x17
ja 0x47541c
add ecx, 0xfffffffa
cmp cx, 5
ja 0x4754c9
mov esi, dword [esp + edx*4 + 0x38]
mov eax, esi
sub eax, edi
sar eax, 1
movzx ecx, word [edi + eax*2]
cmp cx, bx
je 0x4754c9
mov dx, word [0x516510]
lea ebx, [ebx]
cmp cx, dx
jne 0x47544f
cmp word [esp + eax*2 + 0xcec], bx
je 0x47545c
movzx ecx, word [edi + eax*2 + 2]
inc eax
cmp cx, bx
jne 0x475440
jmp 0x4754c9
lea ebp, [edi + eax*2]
movzx ecx, word [edi + eax*2 + 2]
inc eax
cmp ecx, 0x20
je 0x47545f
cmp ecx, 9
je 0x47545f
mov edx, dword [esp + 0x18]
push ebx
lea eax, [edi + eax*2]
push eax
lea ecx, [esp + 0x2f4]
push ecx
push edx
mov dword [esp + 0x38], eax
call fcn.0046c6a0
mov dword [esp + 0x34], eax
cmp eax, ebx
je 0x4754c9
lea ebx, [esp + 0x2ec]
call fcn.0046c620
movzx eax, ax
mov dword [esp + 0x24], eax
test ax, ax
jne 0x4754bb
call fcn.0046c660
movzx eax, ax
mov dword [esp + 0x2c], eax
test ax, ax
je 0x4754c9
xor eax, eax
mov word [ebp], ax
or eax, 0xffffffff
call fcn.0041abe0
mov ebp, dword [esp + 0x10d18]
mov ebx, dword [esp + 0x3c]
cmp bp, 0x69
je 0x4754e0
cmp bp, 0x6b
jne 0x4754f1
mov edi, dword [esp + 0x14]
cmp edi, 1
jne 0x4754f5
cmp word [ebx], 0
jne 0x475505
jmp 0x4754f5
mov edi, dword [esp + 0x14]
cmp bp, 0x6a
je 0x475501
cmp bp, 0x70
jne 0x47557b
test edi, edi
je 0x47557b
mov esi, dword [esp + edi*4 + 0x38]
mov eax, esi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x475510
sub eax, edx
sar eax, 1
cmp word [esi + eax*2 - 2], 0x7b
jne 0x47557b
xor ecx, ecx
mov word [esi + eax*2 - 2], cx
or eax, 0xffffffff
mov byte [esp + 0x1f], 1
call fcn.0041abe0
test eax, eax
jne 0x47557b
cmp bp, 0x69
je 0x47556f
cmp bp, 0x70
je 0x47556f
mov edx, dword [esp + 0x10d14]
push edx
push str.P__09_3yo
call fcn.004a4b10
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
call fcn.00477180
jmp 0x47578b
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
mov eax, dword [0x51dcc0]
mov ebp, dword [esp + 0x40]
mov byte [0x51e5d8], 0
mov esi, ebx
test eax, eax
je 0x47559f
cmp eax, 1
je 0x47559f
cmp eax, 2
jne 0x475665
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x26c]
cmp edi, 2
jne 0x475669
push ecx
lea eax, [esp + 0xcf0]
push eax
lea ecx, [esp + 0xa4]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x10d2c]
push ecx
lea edx, [esp + 0x2b]
push edx
call fcn.00483e80
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x47565e
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
mov ebx, esi
lea eax, [esp + 0x90]
call fcn.00414350
push 1
push 0
push 0x50bb7c
lea esi, [esp + 0x9c]
mov dword [esp + 0x10d18], 0
call fcn.004148c0
push 1
push 0
push ebp
call fcn.004148c0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x18]
push eax
push edi
call fcn.00477180
lea ecx, [esp + 0x90]
mov esi, eax
call fcn.00413fb0
mov eax, esi
jmp 0x47578b
mov eax, dword [0x51dcc0]
jmp 0x475669
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
test di, di
je 0x47568a
mov ecx, dword [ebx + 0x270]
mov dword [0x51e5b8], ecx
mov edx, dword [ebx + 0x26c]
mov dword [0x51e5b4], edx
test eax, eax
je 0x4756f4
cmp eax, 4
jne 0x4756a7
mov esi, dword [ebx + 0x26c]
mov ecx, 0x51dcc0
call fcn.0046c020
test al, al
je 0x4756f4
mov eax, dword [ebx + 0x270]
cmp eax, dword [0x51e598]
ja 0x4756f4
test di, di
jne 0x4756f4
mov ebp, dword [esp + 0x2c]
test bp, bp
jne 0x4756f8
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [ebx + 0x26c]
push eax
lea ecx, [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x10d24]
push edx
lea eax, [esp + 0x4c]
push eax
push ecx
lea edx, [esp + 0x2b]
push edx
call fcn.00484500
add esp, 0x1c
jmp 0x4756f8
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x10d1c]
push ecx
lea edx, [esp + 0x44]
push edx
push eax
push ebx
call fcn.00475b80
test eax, eax
je 0x473ddb
cmp byte [esp + 0x1f], 0
je 0x47573d
push 0
push 0
push 0
push 0x73
push ebx
call fcn.00475b80
test eax, eax
je 0x473ddb
test di, di
jne 0x47574b
test bp, bp
je 0x473ec2
mov esi, dword [esp + 0x34]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x475754
sub eax, edx
mov ecx, esi
sub ecx, dword [esp + 0x20]
sar eax, 1
push eax
sar ecx, 1
lea edx, [esp + ecx*2 + 0xcf0]
mov ecx, dword [esp + 0x2c]
push edx
push esi
lea eax, [esp + 0x2f8]
push eax
push ebp
push edi
push ecx
mov ecx, ebx
call fcn.00473760
mov ecx, dword [esp + 0x10d04]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10d00
ret 0x1c