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

Disassembly:
push 0xffffffffffffffff
push 0x4d7ceb
mov eax, dword fs:[0]
push eax
mov eax, 0x10cf4
mov dword fs:[0], esp
call fcn.004d0b30
mov eax, dword [esp + 0x10d10]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov edi, dword [esp + 0x10d14]
mov dword [esp + 0x14], ebp
test eax, eax
je 0x472dee
lea edx, [esp + 0xec]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x472db4
mov eax, dword [esp + 0x10d24]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x472e07
lea ecx, [eax + 2]
mov ebp, ecx
movzx eax, word [ebp]
cmp eax, 0x20
je 0x472de9
cmp eax, 9
jne 0x4734f5
add ebp, 2
jmp 0x472dd7
cmp word [esp + 0x10d18], 3
jne 0x472e4f
xor eax, eax
mov word [esp + 0xec], ax
mov dword [esp + 0x1c], eax
mov ebp, edi
mov byte [esp + 0x12], 0
mov dx, word [0x511540]
mov byte [esp + 0x13], 0
mov ebx, 0x3d
cmp word [ebp], dx
jne 0x473562
movzx eax, word [ebp + 2]
add ebp, 2
cmp eax, 0x20
je 0x472e29
cmp eax, 9
je 0x472e29
mov edi, dword [esp + 0x10d18]
test di, di
jne 0x473fc9
jmp case.0x473a62.39
push 6
push 0x5064bc
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x472e8b
mov ecx, dword [0x51161c]
mov ebx, dword [ecx + 0xb4]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff80
add ebx, 0xc1
mov dword [esp + 0x18], ebx
jmp 0x472ef9
mov edx, dword [0x51161c]
cmp dword [edx + 0xb4], 0
je 0x4734cc
push 5
push 0x5064dc
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x472ecc
mov dword [esp + 0x18], 0x42
mov ebx, dword [esp + 0x18]
lea eax, [edi + 0xa]
jmp 0x472efc
push 6
push 0x4e4ce4
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x4734cc
mov dword [esp + 0x18], 0x62
mov ebx, dword [esp + 0x18]
lea eax, [edi + 0xc]
mov ecx, dword [ebp + 0x274]
mov dword [0x519370], ecx
mov edx, dword [ebp + 0x270]
mov dword [0x51936c], edx
movzx ecx, word [eax]
test cx, cx
je 0x473466
cmp ecx, 0x20
je 0x472f35
cmp ecx, 9
jne 0x4734cc
mov edi, dword [esp + 0x10d14]
call fcn.00409e40
mov esi, eax
cmp word [esi], 0
je 0x473466
movzx edi, word [esi + 2]
xor eax, eax
push eax
push esi
mov word [esi + 2], ax
call fcn.004aadc0
add esp, 8
mov word [esi + 2], di
test eax, eax
je 0x4734cc
cmp byte [ebp + 0x48], 0
mov ecx, dword [0x51161c]
je 0x472fc3
mov eax, dword [ecx + 0xb4]
cmp byte [eax + 0x3c], 0
jne 0x472fc3
cmp ebx, 0x62
je 0x472f8f
cmp ebx, 0x42
setne cl
add cl, 0x41
mov byte [eax + 0x3c], cl
mov eax, dword [ebp + 4]
test eax, eax
je 0x473003
movzx eax, word [eax]
cmp eax, 9
jb 0x472fa3
cmp eax, 0x20
jbe 0x472fbc
cmp eax, 0x21
je 0x472fbc
cmp eax, 0x69
jb 0x472fb2
cmp eax, 0x6b
jbe 0x472fbc
cmp eax, 0x6f
jb 0x473003
cmp eax, 0x71
ja 0x473003
mov byte [esp + 0x13], 1
jmp 0x473008
mov eax, dword [ecx + 0xb4]
test eax, eax
je 0x472f8f
movzx edx, byte [eax + 0x3c]
cmp ebx, edx
jne 0x472f8f
cmp ebx, 0x41
jne 0x472fec
mov eax, dword [esp + 0x10d14]
push eax
push 0x5064f8
jmp 0x4734b7
cmp ebx, 0x42
jne 0x472f8f
mov ecx, dword [esp + 0x10d14]
push ecx
push 0x506578
jmp 0x4734b7
mov byte [esp + 0x13], 0
cmp word [esi], 0
mov byte [esp + 0x12], 0
mov edi, esi
je 0x473492
lea esp, [esp]
push str.r_oh
call fcn.0049fc00
mov ebx, eax
add esp, 4
mov eax, edi
call fcn.00409df0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x473059
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x473043
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2]
mov dword [esp + 0x20], eax
mov esi, eax
mov eax, dword [0x51161c]
sub esi, edi
sar esi, 1
cmp dword [eax + 0xb4], 0
je 0x473149
mov eax, dword [eax + 0xb4]
xor ebp, ebp
cmp dword [eax + 0x10], ebp
jle 0x4730b3
xor ebx, ebx
mov edx, dword [eax + 0xc]
mov eax, dword [edx + ebx]
mov eax, dword [eax + 0x18]
push 0xffffffffffffffff
push esi
mov ecx, edi
call fcn.004a7290
add esp, 8
test eax, eax
je 0x4733b2
mov ecx, dword [0x51161c]
mov eax, dword [ecx + 0xb4]
inc ebp
add ebx, 0x10
cmp ebp, dword [eax + 0x10]
jl 0x473080
mov ecx, dword [esp + 0x14]
push 0
push 2
push 0
push esi
push edi
call fcn.00422990
mov ebp, eax
mov eax, dword [esp + 0x18]
test ebp, ebp
je 0x4730eb
movzx edx, byte [ebp + 0x16]
xor edx, eax
test edx, 0xffffffbf
jne 0x4733cf
cmp eax, 0x62
je 0x4733cf
xor ebp, ebp
cmp eax, 0x41
je 0x473141
mov eax, dword [0x51161c]
mov eax, dword [eax + 0xb4]
xor ebx, ebx
cmp dword [eax + 0x34], ebx
jle 0x473141
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx + ebx*4]
mov ecx, dword [edx + 0x18]
push esi
push 0xffffffffffffffff
mov eax, edi
call fcn.004a7290
add esp, 8
test eax, eax
je 0x47312f
mov eax, dword [0x51161c]
mov eax, dword [eax + 0xb4]
inc ebx
cmp ebx, dword [eax + 0x34]
jl 0x473102
jmp 0x473141
mov ecx, dword [0x51161c]
mov edx, dword [ecx + 0xb4]
mov eax, dword [edx + 0x24]
mov ebp, dword [eax + ebx*4]
test ebp, ebp
jne 0x4733cf
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push ebx
push esi
push edi
call fcn.00422930
mov ebp, eax
test ebp, ebp
je 0x4733ab
mov al, byte [ebp + 0x17]
test al, al
jne 0x473170
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 1
jne 0x473449
mov eax, dword [0x519498]
push 0xffffffffffffffff
push esi
mov ecx, edi
call fcn.004a7290
add esp, 8
test eax, eax
je 0x473449
cmp ebx, 0x41
jne 0x4731c6
mov ecx, dword [0x51161c]
mov edx, dword [ecx + 0xb4]
cmp dword [edx + 0x34], 0x7d0
jge 0x47340f
mov eax, edx
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x24]
mov dword [eax + edx*4], ebp
mov eax, dword [ecx + 0xb4]
inc dword [eax + 0x34]
jmp 0x4731d1
cmp ebx, 0xc1
jne 0x4731d1
mov byte [ebp + 0x16], bl
mov eax, dword [esp + 0x20]
call fcn.00409e40
movzx ecx, word [eax]
cmp ecx, 0x3d
ja case.0x4731e9.1
movzx ecx, byte [ecx + 0x474d98]
jmp dword [ecx*4 + 0x474d84]
add eax, 2
call fcn.00409e40
mov ebx, dword [esp + 0x14]
mov edi, eax
jmp 0x473380
cmp word [eax + 2], 0x3d
jne 0x47342c
add eax, 4
xor bl, bl
xor dl, dl
xor ebp, ebp
xor esi, esi
lea esp, [esp]
movzx ecx, word [eax + esi*2]
cmp ecx, 0x2c
jne 0x4732ce
test dl, dl
jne case.0x4732da.1
test ebp, ebp
jg case.0x4732da.1
lea ebp, [eax + esi*2]
lea eax, [ebp - 2]
mov edx, edi
call fcn.00409e60
mov esi, eax
movzx edx, word [esi + 2]
xor eax, eax
mov dword [esp + 0x20], edx
mov word [esi + 2], ax
test bl, bl
je 0x4732b3
lea edx, [esp + 0x8cf4]
mov eax, edi
sub edx, edi
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x473270
push 0
push 0xffffffffffffffff
push 1
push 1
push 0x4e4d64
call fcn.0049fc00
add esp, 4
push eax
lea ecx, [esp + 0x8d08]
push 0x50677c
push ecx
xor eax, eax
call fcn.004a7990
add esp, 0x1c
lea edi, [esp + 0x8cf4]
cmp dword [esp + 0x18], 0x62
mov ebx, dword [esp + 0x14]
jne 0x473302
mov byte [ebx + 0x49], 1
jmp 0x47332b
add eax, 2
mov bl, 1
jmp 0x473213
cmp ecx, 0x7d
ja case.0x4732da.1
movzx ecx, byte [ecx + 0x474dec]
jmp dword [ecx*4 + 0x474dd8]
test dl, dl
sete dl
inc esi
jmp 0x473220
test dl, dl
jne case.0x4732da.1
inc ebp
inc esi
jmp 0x473220
test dl, dl
jne case.0x4732da.1
dec ebp
inc esi
jmp 0x473220
cmp byte [esp + 0x13], 0
je 0x47332b
cmp byte [esp + 0x12], 0
jne 0x47332b
push 0
push 0
push 0
push 0x73
push ebx
call fcn.00475270
test eax, eax
je 0x4733ab
mov byte [esp + 0x12], 1
push 0
push 0
push 0
push 0
push 0
push 0
push edi
mov ecx, ebx
call fcn.00472d70
test eax, eax
je 0x4733ab
cmp dword [esp + 0x18], 0x62
jne 0x473362
mov eax, dword [ebx + 4]
mov byte [ebx + 0x49], 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 + 0x20]
mov word [esi + 2], dx
cmp word [ebp], 0x2c
jne 0x47337e
lea eax, [ebp + 2]
call fcn.00409e40
mov edi, eax
jmp 0x473380
mov edi, ebp
cmp word [edi], 0
jne 0x473020
cmp byte [esp + 0x12], 0
je 0x473492
push 0
push 0
push 0
push 0x74
push ebx
call fcn.00475270
test eax, eax
jne 0x473492
xor eax, eax
jmp 0x474d69
push edi
push 0x506618
call fcn.0049fc00
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.004768b0
jmp 0x474d69
test byte [ebp + 0x16], 0x40
je 0x4733f2
push 0x4e9d34
call fcn.0049fc00
mov ecx, dword [esp + 0x18]
add esp, 4
push edi
push eax
call fcn.004768b0
jmp 0x474d69
push 0x506670
call fcn.0049fc00
mov ecx, dword [esp + 0x18]
add esp, 4
push edi
push eax
call fcn.004768b0
jmp 0x474d69
push edi
push 0x50673c
call fcn.0049fc00
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.004768b0
jmp 0x474d69
push edi
push 0x505240
call fcn.0049fc00
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.004768b0
jmp 0x474d69
push edi
push 0x5066d8
call fcn.0049fc00
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.004768b0
jmp 0x474d69
cmp byte [ebp + 0x48], 0
je 0x4734b1
mov eax, dword [0x51161c]
mov ecx, dword [eax + 0xb4]
mov al, byte [ecx + 0x3c]
test al, al
jne 0x47349c
cmp ebx, 0x42
jne 0x47348f
mov dword [esp + 0x18], 0x46
mov ebx, dword [esp + 0x18]
mov byte [ecx + 0x3c], bl
mov eax, 1
jmp 0x474d69
cmp al, 0x46
jne 0x4734b1
cmp ebx, 0x62
jne 0x4734b1
mov byte [ecx + 0x3c], 0x66
lea eax, [ebx - 0x61]
jmp 0x474d69
push edi
push 0x505240
call fcn.0049fc00
add esp, 4
mov ecx, ebp
push eax
call fcn.004768b0
jmp 0x474d69
mov ecx, dword [esp + 0x10d14]
push 1
push ecx
lea edx, [esp + 0xf4]
push edx
push ebp
call fcn.0046e150
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x472dd2
jmp 0x474d69
movzx eax, word [ecx]
cmp ax, word [0x511540]
je 0x473558
test ax, ax
je 0x473558
cmp eax, 0x20
je 0x473558
cmp eax, 9
je 0x473558
cmp eax, 0x28
jne 0x472e09
lea eax, [esp + 0xec]
push 0x4e9abc
push eax
call fcn.004c4e9d
add esp, 8
test eax, eax
je 0x473558
push 0x4e9ac4
call fcn.0049fc00
add esp, 4
push eax
lea ecx, [esp + 0xf0]
push ecx
call fcn.004c4e9d
add esp, 8
test eax, eax
jne 0x472e09
mov byte [esp + 0x12], 1
jmp 0x472e0e
mov edi, dword [esp + 0x10d18]
test di, di
jne 0x473fc9
cmp word [esp + 0x10d1c], di
jne case.0x473a62.39
cmp byte [esp + 0x12], 0
je 0x473a44
lea eax, [esp + 0xec]
push 0x4e9abc
push eax
call fcn.004c4e9d
add esp, 8
test eax, eax
jne 0x473a44
movzx eax, word [ebp]
cmp eax, 0x28
je case.0x4736b0.34
cmp ax, word [0x511544]
jne 0x4735d4
movzx eax, word [ebp + 2]
cmp eax, 0x20
je case.0x4736b0.34
cmp eax, 9
je case.0x4736b0.34
mov dx, word [0x511540]
mov ecx, 0x20
lea ebx, [esp + 0x34]
mov eax, ebp
mov word [esp + 0x34], cx
mov word [esp + 0x36], dx
mov dword [esp + 0x38], 0x90028
mov dword [esp + 0x3c], 0x3e003c
mov dword [esp + 0x40], 0x3d003a
mov dword [esp + 0x44], 0x2d002b
mov dword [esp + 0x48], 0x2f002a
mov dword [esp + 0x4c], 0x7e0021
mov dword [esp + 0x50], 0x7c0026
mov dword [esp + 0x54], 0x5b005e
mov dword [esp + 0x58], 0x3f002e
mov dword [esp + 0x5c], 0x7b
call fcn.00409df0
test eax, eax
je 0x473652
call fcn.00409e40
mov esi, eax
jmp 0x47366a
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x473657
sub eax, edx
sar eax, 1
lea esi, [ebp + eax*2]
push 3
push 0x4e69d4
push ebp
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x473698
movzx eax, word [ebp + 6]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.004c5cc1
add esp, 8
test eax, eax
je 0x473698
mov bl, 1
jmp 0x47369a
xor bl, bl
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x4736b0.34
movzx edx, byte [eax + 0x474e90]
jmp dword [edx*4 + 0x474e6c]
mov edi, 0x12
jmp 0x473718
movzx eax, word [esi + 2]
sub eax, 0x3d
je 0x4736d1
dec eax
je 0x47370a
mov edi, 0x16
jmp 0x473718
mov ecx, 0x20
mov edi, 0x17
mov word [esi + 2], cx
jmp 0x473718
cmp word [esi + 2], 0x3d
jne 0x4736f8
mov edx, 0x20
mov edi, 0x15
mov word [esi + 2], dx
jmp 0x473718
mov edi, 0x14
jmp 0x473718
cmp word [esi + 2], 0x3d
jne case.0x4736b0.34
mov edi, 0x13
mov eax, 0x20
mov word [esi + 2], ax
mov dword [esp + 0x10d18], edi
mov ax, word [0x511540]
mov word [esi], ax
cmp di, 0xf
je 0x473738
cmp di, 0x10
jne 0x472e41
mov eax, 0x5054dc
mov ecx, esi
call fcn.004a75a0
mov esi, eax
test esi, esi
je 0x473793
lea ebx, [ebx]
movzx ecx, word [esi - 2]
push ecx
push 0x4e6dc4
call fcn.004c5cc1
add esp, 8
test eax, eax
je 0x473780
movzx edx, word [esi + 6]
push edx
push 0x4e6dc4
call fcn.004c5cc1
add esp, 8
test eax, eax
jne 0x473a2e
lea ecx, [esi + 6]
mov eax, 0x5054dc
call fcn.004a75a0
mov esi, eax
test esi, esi
jne 0x473750
mov eax, dword [esp + 0x10d14]
push eax
push 0x506790
call fcn.0049fc00
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.004768b0
jmp 0x474d69
test bl, bl
jne case.0x4736b0.34
push 7
push str.07_77_
call fcn.0049fc00
add esp, 4
push eax
push esi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne case.0x4736b0.34
lea edi, [eax + 0xf]
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 word [esi + 0xc], ax
jmp 0x473718
test bl, bl
jne case.0x4736b0.34
push 8
push str.1_3___
call fcn.0049fc00
add esp, 4
push eax
push esi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne case.0x4736b0.34
lea edi, [eax + 0xb]
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 [esi + 0xc], eax
jmp 0x473718
mov ax, word [esi + 2]
call fcn.00409dc0
movzx eax, ax
add eax, 0xffffffb2
cmp eax, 0x25
ja case.0x4736b0.34
movzx edx, byte [eax + 0x474eec]
jmp dword [edx*4 + 0x474ee0]
test bl, bl
je 0x47387a
mov edi, 0x11
mov dword [esp + 0x10d18], edi
jmp 0x4738d3
lea eax, [esi + 4]
call fcn.00409e40
push 3
mov ebx, eax
push 0x506780
push ebx
call fcn.004c56eb
add esp, 0xc
test eax, eax
je 0x47389f
mov edi, 0xd
jmp 0x4738b9
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov edi, 0xe
mov word [ebx + 4], ax
mov edx, 0x20
mov dword [esp + 0x10d18], edi
mov word [esi + 2], dx
cmp di, 0x11
jne 0x47371f
mov eax, ebp
lea edx, [eax + 2]
jmp 0x4738e0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4738e0
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 2], 0x7b
lea eax, [ebp + eax*2 - 2]
jne 0x473fc9
xor edx, edx
mov word [eax], dx
sub eax, ebp
sar eax, 1
mov esi, ebp
call fcn.0041bb90
mov byte [esp + 0x13], 1
jmp 0x473fc9
test bl, bl
je 0x47392b
mov edi, 0x11
mov dword [esp + 0x10d18], edi
jmp 0x4738d3
mov edi, 9
jmp 0x47370f
push 3
push 0x506780
push esi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne case.0x4736b0.34
movzx ecx, word [esi + 6]
lea eax, [esi + 6]
cmp ecx, 0x20
je 0x473962
cmp ecx, 9
jne case.0x4736b0.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.00409e40
push 2
mov ebx, eax
push 0x506788
push ebx
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x4739ab
lea edi, [eax + 0xa]
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
jmp 0x473718
push 7
push str.07_77_
call fcn.0049fc00
add esp, 4
push eax
push ebx
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x4739eb
lea edi, [eax + 0x10]
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov word [ebx + 0xc], ax
jmp 0x473718
push 8
push str.1_3___
call fcn.0049fc00
add esp, 4
push eax
push ebx
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x47371f
lea edi, [eax + 0xc]
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
jmp 0x473718
mov cx, word [0x511540]
mov word [esi], cx
mov dword [esi + 2], 0x200020
jmp 0x472e41
movzx ecx, word [ebp]
movzx eax, word [ebp + 2]
lea edx, [ecx - 0x26]
lea esi, [ebp + 2]
cmp edx, 0x56
ja case.0x473a62.39
movzx edx, byte [edx + 0x474f3c]
jmp dword [edx*4 + 0x474f14]
mov edi, 1
mov dword [esp + 0x10d18], edi
jmp 0x473d17
cmp ax, bx
jne case.0x473a62.39
mov edi, 2
mov dword [esp + 0x10d18], edi
jmp 0x473cb7
cmp word [esp + 0xec], 0x2b
jne 0x473aae
cmp word [esp + 0xee], 0
jne 0x473aae
mov cl, 1
jmp 0x473ab9
xor cl, cl
cmp ax, bx
jne case.0x473a62.39
mov edi, 4
mov dword [esp + 0x10d18], edi
test cl, cl
je 0x473cab
mov eax, esi
call fcn.00409e40
mov ebx, str.__t____:_______._
mov ebp, eax
call fcn.00409df0
test eax, eax
jne 0x473ba9
mov esi, ebp
lea ecx, [esi + 2]
lea ecx, [ecx]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x473af0
mov ebx, dword [esp + 0x10d14]
sub esi, ecx
sar esi, 1
lea eax, [esi + esi + 2]
push eax
push ebp
push ebx
call fcn.004c5960
mov cx, word [0x511540]
mov word [ebx + esi*2], cx
add esp, 0xc
mov dword [ebx + esi*2 + 2], 0x31
mov ebp, ebx
jmp 0x472e41
cmp word [esp + 0xec], 0x2d
jne 0x473b51
cmp word [esp + 0xee], 0
jne 0x473b51
mov cl, 1
mov edi, 5
jmp 0x473abe
xor cl, cl
cmp ax, bx
jne case.0x473a62.39
mov edi, 5
jmp 0x473abe
cmp ax, bx
jne case.0x473a62.39
mov edi, 6
mov dword [esp + 0x10d18], edi
jmp 0x473cb7
cmp ax, bx
jne 0x473b96
mov edi, 7
mov dword [esp + 0x10d18], edi
jmp 0x473cb7
cmp eax, 0x2f
jne case.0x473a62.39
cmp word [ebp + 4], bx
jne case.0x473a62.39
mov ebp, dword [esp + 0x10d14]
mov edi, 3
mov dword [esp + 0x10d18], edi
jmp 0x472e41
cmp ax, bx
jne case.0x473a62.39
mov ebp, dword [esp + 0x10d14]
mov edi, 3
mov dword [esp + 0x10d18], edi
jmp 0x472e41
cmp ax, cx
jmp 0x473b99
cmp ax, bx
je 0x473ba9
mov eax, esi
call fcn.00430990
cmp word [eax], 0x28
je 0x473c8d
lea ecx, [ecx]
cmp eax, esi
je 0x473d70
call fcn.00409e40
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x5b
je 0x473c8d
test ax, ax
je 0x473c8d
cmp word [esi + 2], 0x3d
jne 0x473c40
push 0x5067e0
mov ebx, eax
call fcn.0049fc00
add esp, 4
push ebx
push eax
call fcn.004c5cc1
add esp, 8
test eax, eax
jne 0x473c8d
movzx eax, word [esi]
cmp word [esi + 2], ax
jne 0x473c6f
push eax
push 0x506804
call fcn.004c5cc1
add esp, 8
test eax, eax
je 0x473c62
cmp word [esi + 4], 0x3d
je 0x473c8d
movzx eax, word [esi]
cmp eax, 0x2b
je 0x473c8d
cmp eax, 0x2d
je 0x473c8d
cmp ax, 0x2e
jne 0x473d70
add esi, 2
mov eax, esi
call fcn.00430990
cmp word [eax], 0x28
jne 0x473c00
mov ebp, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], 3
mov edi, dword [esp + 0x10d18]
jmp 0x472e41
cmp di, 3
je 0x473d30
cmp di, 1
je 0x473d11
xor cl, cl
xor ebx, ebx
mov edx, 2
movzx eax, word [ebp + edx*2]
cmp ax, word [0x511540]
jne 0x473d3c
test cl, cl
jne case.0x473d48.1
test ebx, ebx
jg case.0x473d48.1
cmp word [ebp + edx*2], 0
je 0x473d11
cmp di, 4
je 0x473cf6
cmp di, 5
jne 0x473ba9
lea eax, [ebp + edx*2 + 2]
call fcn.00409e40
mov ebx, str.__t____:_______._
call fcn.00409df0
test eax, eax
jne 0x473ba9
cmp di, 3
je 0x473d30
mov cx, word [0x511540]
mov word [ebp], cx
cmp di, 1
je 0x473d30
mov edx, 0x20
mov word [esi], dx
mov ebp, dword [esp + 0x10d14]
jmp 0x472e41
cmp eax, 0x7d
ja case.0x473d48.1
movzx eax, byte [eax + 0x474fa8]
jmp dword [eax*4 + 0x474f94]
test cl, cl
sete cl
inc edx
jmp 0x473cc0
test cl, cl
jne case.0x473d48.1
inc ebx
inc edx
jmp 0x473cc0
test cl, cl
jne case.0x473d48.1
dec ebx
inc edx
jmp 0x473cc0
mov edi, dword [esp + 0x10d18]
cmp byte [esp + 0x12], 0
je 0x473db9
cmp word [esp + 0x10d1c], 0
jne 0x473db9
lea ebx, [esp + 0xec]
call fcn.0046e0d0
movzx edi, ax
mov dword [esp + 0x10d18], edi
test di, di
jne 0x473fc9
call fcn.0046e110
movzx eax, ax
mov dword [esp + 0x10d1c], eax
jmp 0x473dc2
test di, di
jne 0x473fc9
cmp word [esp + 0x10d1c], 0
jne 0x473fc9
movzx eax, word [ebp]
cmp eax, 0x7b
jne 0x473e68
lea ebx, [esp + 0xec]
call fcn.0046e0d0
movzx eax, ax
lea ecx, [eax - 0x21]
cmp ecx, 0x50
ja case.0x473dfc.34
movzx ecx, byte [ecx + 0x475034]
jmp dword [ecx*4 + 0x475028]
cmp word [ebp + 2], 0
mov byte [esp + 0x13], 1
jne case.0x473dfc.34
mov edi, eax
mov dword [esp + 0x10d18], edi
test ax, ax
jne 0x473fc9
movzx eax, word [ebp]
push eax
push str.__t____:_______._
call fcn.004c5cc1
add esp, 8
test eax, eax
je 0x473f32
movzx eax, word [ebp]
cmp eax, 0x2b
je 0x473e4d
cmp eax, 0x2d
jne 0x473f03
cmp word [ebp + 2], ax
jne 0x473f03
cmp word [ebp + 4], 0
je 0x473ec6
mov edi, 3
jmp 0x473ee8
cmp eax, 0x3a
jne case.0x473dfc.34
lea edx, [esp + 0xec]
push str.Default
push edx
call fcn.004c4e9d
add esp, 8
test eax, eax
jne case.0x473dfc.34
mov esi, dword [esp + 0x14]
push eax
push eax
push eax
push 0xe3
push esi
call fcn.00475270
test eax, eax
je 0x4733ab
lea eax, [ebp + 2]
call fcn.00409e40
cmp word [eax], 0
je 0x473492
push 0
push 0
push 0
push 0
push 0
push 0
push eax
mov ecx, esi
jmp 0x474d64
mov dx, word [0x511540]
xor ecx, ecx
cmp eax, 0x2b
setne cl
mov eax, 0x31
mov word [ebp], dx
mov word [ebp + 2], ax
add ecx, 4
movzx edi, cx
mov esi, dword [esp + 0x10d14]
mov dword [esp + 0x10d18], edi
mov ebp, esi
test di, di
jne 0x473fc9
jmp 0x473f39
cmp eax, 0x3f
je 0x473f26
push 0x3f
push ebp
call fcn.004c5cc1
add esp, 8
test eax, eax
je 0x473f32
push 0x3a
push eax
call fcn.004c5cc1
add esp, 8
test eax, eax
je 0x473f32
mov ebp, dword [esp + 0x10d14]
jmp 0x473fbd
mov esi, dword [esp + 0x10d14]
movzx eax, word [ebp]
cmp eax, 0x28
je 0x473fbb
cmp eax, 0x5b
je 0x473fbb
cmp word [esi], 0x28
je 0x473fbb
push 3
push 0x506840
push esi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x473f6f
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x473fbb
cmp eax, 9
je 0x473fbb
push 0x50551c
push esi
call fcn.004c5ce8
add esp, 8
test eax, eax
je 0x473f9e
push str.e__3__6r:97
call fcn.0049fc00
mov ecx, dword [esp + 0x18]
add esp, 4
push esi
push eax
call fcn.004768b0
jmp 0x474d69
push 0x505240
call fcn.0049fc00
mov ecx, dword [esp + 0x18]
add esp, 4
push esi
push eax
call fcn.004768b0
jmp 0x474d69
mov ebp, esi
mov edi, 3
mov dword [esp + 0x10d18], edi
movzx eax, di
add eax, 0xffffffdf
mov dword [esp + 0x24], 0
cmp eax, 0xc2
ja case.0x473fe9.34
movzx ecx, byte [eax + 0x475098]
jmp dword [ecx*4 + 0x475088]
cmp word [ebp], 0x7b
jne case.0x473fe9.34
mov edi, dword [esp + 0x14]
mov edx, dword [edi + 0x274]
mov dword [0x519380], edx
mov eax, dword [edi + 0x270]
mov dword [0x51937c], eax
cmp word [ebp], 0x7b
jne 0x47402c
lea eax, [ebp + 2]
mov byte [esp + 0x13], 1
call fcn.00409e40
mov ebp, eax
cmp word [ebp], 0
je 0x474116
mov dword [esp + 0x24], ebp
sub ebp, 2
xor ecx, ecx
mov word [ebp], cx
jmp 0x474116
xor ebx, ebx
lea edx, [ebx + 0x3d]
mov edi, edi
movzx eax, word [ebp + ebx*2]
cmp eax, 0x3a
jne 0x474061
cmp word [ebp + ebx*2 + 2], dx
jne case.0x47406d.0
cmp eax, 0x7d
ja case.0x47406d.1
movzx eax, byte [eax + 0x47517c]
jmp dword [eax*4 + 0x47515c]
movzx eax, word [ebp + ebx*2 + 2]
inc ebx
test ax, ax
je case.0x47406d.0
cmp eax, 0x22
jne case.0x47406d.34
inc ebx
jmp 0x474050
push 0
inc ebx
push ebx
push 0x3a
jmp 0x4740a7
mov eax, 0x29
jmp 0x4740a2
mov eax, 0x5d
jmp 0x4740a2
mov eax, 0x7d
push 0
inc ebx
push ebx
push eax
push ebp
call fcn.004a96e0
mov ebx, eax
add esp, 0x10
cmp word [ebp + ebx*2], 0
je 0x4740c5
inc ebx
jmp 0x474050
cmp word [ebp + ebx*2], 0
jne 0x4740e0
mov ecx, dword [esp + 0x10d14]
push ecx
mov ecx, dword [esp + 0x18]
push str.Missing__:_
call fcn.004768b0
jmp 0x474d69
xor edx, edx
or eax, 0xffffffff
mov esi, ebp
mov word [ebp + ebx*2], dx
call fcn.0041bb90
lea eax, [ebp + ebx*2 + 2]
call fcn.00409e40
cmp word [eax], 0
mov edi, dword [esp + 0x14]
mov dword [esp + 0x24], eax
jne 0x474116
mov dword [esp + 0x24], 0
jmp 0x474116
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10d18]
test ax, ax
je 0x47412f
movzx eax, ax
imul eax, eax, 0x15
add eax, 0x5118d8
jmp 0x47413f
movzx eax, word [esp + 0x10d1c]
imul eax, eax, 0x15
add eax, 0x513138
push 0x8002
mov dword [esp + 0x30], eax
lea eax, [esp + 0xcf0]
push 0
push eax
call fcn.004ce290
mov edx, dword [esp + 0x10d34]
add esp, 0xc
test edx, edx
je 0x474244
mov ecx, dword [esp + 0x10d2c]
mov eax, ebp
sub eax, dword [esp + 0x1c]
sar eax, 1
sub ecx, eax
test ecx, ecx
jle 0x474195
add ecx, ecx
push ecx
lea edx, [edx + eax*2]
push edx
lea eax, [esp + 0xcf4]
push eax
call fcn.004cd6c0
add esp, 0xc
mov eax, dword [esp + 0x10d18]
mov dword [esp + 0x18], 0
cmp ax, 0x22
jne 0x474430
xor ebx, ebx
mov edi, 1
mov dword [esp + 0x1c], edi
cmp word [ebp], bx
je 0x47451c
cmp edi, 1
jle 0x4741d0
inc ebx
lea esp, [esp]
movzx eax, word [ebp + ebx*2]
cmp eax, 0x20
je 0x4741c8
cmp eax, 9
je 0x4741c8
lea edx, [ebx + ebx]
mov cx, word [edx + ebp]
lea eax, [edx + ebp]
cmp cx, word [0x511544]
jne 0x474325
cmp word [esp + edx + 0xcec], 0
jne 0x474325
movzx ecx, word [eax + 2]
cmp ecx, 0x20
je 0x474217
cmp ecx, 9
jne 0x474325
cmp edi, 3
jge 0x47451c
movzx ecx, word [0x511540]
lea edx, [esp + 0xcec]
push edx
push ecx
lea eax, [ebx + 2]
mov ecx, ebp
call fcn.004a95e0
add esp, 8
mov esi, eax
jmp 0x4743a1
xor esi, esi
cmp word [ebp + esi*2], 0
mov ax, word [0x511548]
je 0x474264
cmp word [ebp + esi*2], ax
je 0x474264
inc esi
cmp word [ebp + esi*2], 0
jne 0x474254
cmp word [ebp + esi*2], 0
lea ebx, [ebp + esi*2]
je 0x474195
mov ecx, dword [edi + 0x274]
mov dword [0x519378], ecx
mov edx, dword [edi + 0x270]
lea ecx, [ebx + 2]
mov dword [0x519374], edx
movzx eax, word [ecx]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4742a1.99
movzx eax, byte [eax + 0x47521c]
jmp dword [eax*4 + 0x4751fc]
mov edx, 7
jmp 0x4742e0
mov eax, 8
mov word [ecx], ax
jmp case.0x4742a1.99
mov edx, 0xc
jmp 0x4742e0
mov eax, 0xa
mov word [ecx], ax
jmp case.0x4742a1.99
mov edx, 0xd
jmp 0x4742e0
mov eax, 9
mov word [ecx], ax
jmp case.0x4742a1.99
mov edx, 0xb
mov word [ecx], dx
mov eax, ecx
lea edi, [eax + 2]
jmp 0x4742f0
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4742f0
sub eax, edi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push ebx
call fcn.004cd6c0
mov edi, dword [esp + 0x20]
mov ecx, 1
add esp, 0xc
mov word [esp + esi*2 + 0xcec], cx
inc esi
jmp 0x474246
cmp word [eax], 0
mov esi, ebx
je 0x474358
mov di, word [0x511540]
mov ecx, eax
cmp word [ecx], di
jne 0x474346
cmp word [esp + edx + 0xcec], 0
je 0x474354
inc esi
lea edx, [esi + esi]
cmp word [edx + ebp], 0
lea ecx, [edx + ebp]
jne 0x474336
mov edi, dword [esp + 0x1c]
cmp edi, 1
jne 0x47439c
cmp word [ebp + esi*2], 0
je 0x47451c
xor edx, edx
push edx
push edx
push edi
push edx
mov word [ebp + esi*2], dx
call fcn.004a7050
add esp, 0x10
test eax, eax
jne 0x474384
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], 0
mov ax, word [0x511540]
mov word [ebp + esi*2], ax
jne 0x47451c
jmp 0x4743a1
cmp edi, 4
je 0x4743b9
inc edi
cmp word [ebp + esi*2], 0
mov ebx, esi
mov dword [esp + 0x1c], edi
jne 0x4741c3
jmp 0x47451c
push 0
push 1
lea edi, [ebp + ebx*2]
push 1
push 0
mov eax, edi
call fcn.004a7050
add esp, 0x10
test eax, eax
jne 0x47451c
cmp word [ebp + esi*2], ax
jne 0x474423
mov ax, word [0x511544]
cmp word [edi], ax
jne 0x474423
cmp word [esp + ebx*2 + 0xcec], 0
jne 0x474423
movzx ecx, ax
push ecx
add edi, 2
push edi
call fcn.004c5cc1
add esp, 8
test eax, eax
je 0x474423
push 0
push 1
push 1
push 0
add eax, 2
call fcn.004a7050
add esp, 0x10
test eax, eax
jne 0x47451c
mov dword [esp + 0x18], 3
jmp 0x47451c
cmp ax, 0x6a
jne 0x47451c
cmp word [ebp], 0
mov esi, ebp
je 0x47448b
movzx eax, word [esi]
cmp eax, 0x20
je 0x474450
cmp eax, 9
jne 0x474482
movzx edx, word [esi + 2]
push edx
call fcn.004c72ab
add esp, 4
cmp eax, 0x69
jne 0x474482
movzx eax, word [esi + 4]
push eax
call fcn.004c72ab
add esp, 4
cmp eax, 0x6e
jne 0x474482
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x47448b
cmp eax, 9
je 0x47448b
add esi, 2
cmp word [esi], 0
jne 0x474443
cmp word [esi], 0
mov dx, word [0x511540]
jne 0x4744ba
mov ecx, dword [esp + 0x10d14]
push ecx
push 0x506890
call fcn.0049fc00
add esp, 4
mov ecx, edi
push eax
call fcn.004768b0
jmp 0x474d69
mov eax, esi
sub eax, ebp
sar eax, 1
mov ecx, 1
test eax, eax
jle 0x4744dd
lea esp, [esp]
cmp word [ebp + eax*2], dx
jne 0x4744d8
inc ecx
dec eax
test eax, eax
jg 0x4744d0
mov word [esi + 2], dx
cmp ecx, 1
jle 0x474518
cmp ecx, 2
jle 0x47450d
mov edx, dword [esp + 0x10d14]
push edx
push 0x5068e0
call fcn.0049fc00
add esp, 4
mov ecx, edi
push eax
call fcn.004768b0
jmp 0x474d69
mov eax, 0x20
mov word [esi + 4], ax
jmp 0x47451c
mov word [esi + 4], dx
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
cmp eax, ecx
je 0x474538
mov dword [esp + 0x30], eax
jmp 0x474544
mov ecx, dword [esp + 0x2c]
movsx edx, byte [ecx + 5]
mov dword [esp + 0x30], edx
xor esi, esi
xor edi, edi
mov dword [esp + 0x18], edi
cmp word [ebp], si
je 0x474714
jmp 0x474560
mov edi, dword [esp + 0x18]
cmp edi, dword [esp + 0x30]
jge 0x474714
cmp edi, 2
jne 0x4745d8
movzx eax, word [esp + 0x10d18]
add eax, 0xffffffe8
cmp eax, 3
ja 0x4745cc
mov edx, dword [esp + 0x14]
push 0
lea eax, [ebp + esi*2]
push eax
lea ecx, [esp + 0x2f4]
push ecx
push edx
call fcn.0046e150
mov dword [esp + 0x20], eax
test eax, eax
je 0x4745cc
lea ebx, [esp + 0x2ec]
call fcn.0046e0d0
movzx eax, ax
mov dword [esp + 0x1c], eax
test ax, ax
jne 0x474705
call fcn.0046e110
movzx eax, ax
mov dword [esp + 0x28], eax
cmp word [esp + 0x28], 0
jne 0x474705
lea ecx, [esp + edi*4 + 0x34]
lea eax, [ebp + esi*2]
lea edx, [esp + edi*4 + 0x9c]
mov dword [esp + 0x90], ecx
mov dword [ecx], eax
lea ecx, [esp + esi*2 + 0xcec]
mov dword [esp + 0x98], edx
mov dword [edx], ecx
mov edx, dword [esp + 0x30]
dec edx
cmp edi, edx
je 0x47470f
mov dx, word [0x511544]
cmp word [eax], dx
jne 0x47462d
cmp word [ecx], 0
jne 0x47462d
movzx eax, word [eax + 2]
cmp eax, 0x20
je 0x474651
cmp eax, 9
je 0x474651
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10d18]
push 0xffffffffffffffff
add ecx, 7
lea ebx, [esp + 0x38]
call fcn.0041ef00
add esp, 4
test al, al
je 0x474671
movzx ecx, word [0x511540]
lea eax, [esp + 0xcec]
push eax
push ecx
mov eax, esi
mov ecx, ebp
call fcn.004a95e0
add esp, 8
mov esi, eax
jmp 0x47469d
movzx eax, word [ebp + esi*2]
test ax, ax
je 0x47469d
mov cx, word [0x511540]
cmp ax, cx
jne 0x474692
cmp word [esp + esi*2 + 0xcec], 0
je 0x47469d
movzx eax, word [ebp + esi*2 + 2]
inc esi
test ax, ax
jne 0x474682
cmp word [ebp + esi*2], 0
je 0x4746ef
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
xor edx, edx
mov word [ebp + esi*2], dx
mov edx, dword [esp + 0x90]
mov edi, dword [edx]
push ecx
call fcn.0046d340
inc esi
lea edx, [esp + 0xcf0]
add esp, 4
lea eax, [ebp + esi*2]
sub edx, ebp
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4746e2
cmp ecx, 9
jne 0x4746ef
cmp word [edx + eax], 0
jne 0x4746ef
inc esi
add eax, 2
jmp 0x4746d5
inc dword [esp + 0x18]
cmp word [ebp + esi*2], 0
jne 0x474560
mov edi, dword [esp + 0x18]
jmp 0x474714
lea eax, [ebp + esi*2]
mov dword [esp + 0x24], eax
jmp 0x474714
inc edi
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx + 4]
mov ebx, dword [esp + 0x14]
movsx ecx, al
cmp edi, ecx
jge 0x47476f
cmp al, 1
mov eax, 0x506960
jg 0x474734
mov eax, 0x4e1a4c
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [edx]
push ecx
push eax
push str.__s__requires_at_least__d_parameter_s.
mov esi, 0x400
lea edi, [esp + 0x4fc]
call fcn.004a71f0
mov ecx, dword [esp + 0x10d24]
add esp, 0x10
push ecx
mov ecx, dword [esp + 0x18]
mov edx, edi
push edx
call fcn.004768b0
jmp 0x474d69
mov edx, dword [esp + 0x10d18]
mov esi, 0xe3
xor eax, eax
cmp dx, si
jne 0x474784
mov ecx, edi
test ecx, ecx
jle 0x47479f
jmp 0x474790
mov esi, dword [esp + eax*4 + 0x34]
inc eax
cmp word [esi], 0
je 0x4747c3
cmp eax, ecx
jl 0x474790
mov ecx, dword [esp + 0x10d1c]
test cx, cx
je case.default.0x4747bc
movzx eax, cx
dec eax
cmp eax, 0xc
ja case.default.0x4747bc
jmp dword [eax*4 + 0x475234]
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
push str.__s__requires_that_parameter__u_be_non_blank.
mov esi, 0x400
lea edi, [esp + 0x4f8]
call fcn.004a71f0
mov edx, dword [esp + 0x10d20]
mov ecx, dword [esp + 0x20]
add esp, 0xc
push edx
mov eax, edi
push eax
call fcn.004768b0
jmp 0x474d69
lea ecx, [esp + 0x9c]
push ecx
mov dword [esp + edi*4 + 0x38], 0x4ebf34
mov dword [esp + edi*4 + 0xa0], 0
inc edi
push edi
lea edx, [esp + 0x3c]
push edx
push 0x89
push ebx
call fcn.00475270
jmp 0x474d69
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x9c]
push eax
push 2
lea ecx, [esp + 0x3c]
push ecx
push 0x89
mov edi, 0x4ebf34
xor ebp, ebp
push ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0xb4], ebp
call fcn.00475270
test eax, eax
je 0x4733ab
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa8], edx
lea edx, [esp + 0x9c]
push edx
push 5
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xb8]
push 0x8c
push ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0xc0], ebp
call fcn.00475270
jmp 0x474d69
lea ecx, [esp + 0x9c]
push ecx
push edi
lea edx, [esp + 0x3c]
push edx
push 1
push ebx
call fcn.00475270
jmp 0x474d69
lea eax, [esp + 0x9c]
push eax
push edi
lea ecx, [esp + 0x3c]
push ecx
push 4
push ebx
call fcn.00475270
jmp 0x474d69
lea edx, [esp + 0x9c]
push edx
push edi
lea eax, [esp + 0x3c]
push eax
push 5
push ebx
call fcn.00475270
jmp 0x474d69
lea ecx, [esp + 0x9c]
push ecx
push edi
lea edx, [esp + 0x3c]
push edx
push 6
push ebx
call fcn.00475270
jmp 0x474d69
lea eax, [esp + 0x9c]
push eax
push edi
lea ecx, [esp + 0x3c]
push ecx
push 7
push ebx
call fcn.00475270
jmp 0x474d69
mov edx, 0x12
jmp 0x47498d
mov edx, 0x13
jmp 0x47498d
mov edx, 0x14
jmp 0x47498d
mov edx, 0x15
jmp 0x47498d
mov edx, 0x16
jmp 0x47498d
mov edx, 0x17
mov dword [esp + 0x10d18], edx
test edi, edi
je 0x474a8a
cmp word [esp + 0x1c], 0
jne 0x474a8a
cmp word [esp + 0x28], 0
jne 0x474a8a
lea eax, [edx - 0x12]
cmp ax, 0xe
ja 0x474a8a
cmp dx, 0x17
ja 0x4749d4
add ecx, 0xfffffffa
cmp cx, 5
ja 0x474a8a
mov eax, dword [esp + edi*4 + 0x30]
sub eax, ebp
sar eax, 1
movzx ecx, word [ebp + eax*2]
test cx, cx
je 0x474a8a
mov dx, word [0x511540]
cmp cx, dx
jne 0x474a01
cmp word [esp + eax*2 + 0xcec], 0
je 0x474a11
movzx ecx, word [ebp + eax*2 + 2]
inc eax
test cx, cx
jne 0x4749f1
jmp 0x474a8a
lea esi, [ebp + eax*2]
movzx ecx, word [ebp + eax*2 + 2]
inc eax
cmp ecx, 0x20
je 0x474a15
cmp ecx, 9
je 0x474a15
push 0
lea eax, [ebp + eax*2]
push eax
lea ecx, [esp + 0x2f4]
push ecx
push ebx
mov dword [esp + 0x34], eax
call fcn.0046e150
mov dword [esp + 0x20], eax
test eax, eax
je 0x474a82
lea ebx, [esp + 0x2ec]
call fcn.0046e0d0
movzx eax, ax
mov dword [esp + 0x1c], eax
test ax, ax
jne 0x474a6f
call fcn.0046e110
movzx eax, ax
mov dword [esp + 0x28], eax
test ax, ax
je 0x474a82
xor edx, edx
mov word [esi], dx
mov esi, dword [esp + edi*4 + 0x30]
or eax, 0xffffffff
call fcn.0041bb90
jmp 0x474a8a
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x10d18]
mov ebx, dword [esp + 0x34]
cmp ax, 0x69
je 0x474aa1
cmp ax, 0x6b
jne 0x474aac
cmp edi, 1
jne 0x474aac
cmp word [ebx], 0
jne 0x474ace
cmp ax, 0x6a
je 0x474ac6
cmp ax, 0x70
je 0x474ac6
mov ecx, 0xe2
cmp ax, cx
jne 0x474b43
test edi, edi
je 0x474b43
mov esi, dword [esp + edi*4 + 0x30]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x474ad7
sub eax, edx
sar eax, 1
cmp word [esi + eax*2 - 2], 0x7b
jne 0x474b43
xor edx, edx
mov word [esi + eax*2 - 2], dx
or eax, 0xffffffff
mov byte [esp + 0x13], 1
call fcn.0041bb90
test eax, eax
jne 0x474b43
mov eax, dword [esp + 0x10d18]
cmp ax, 0x69
je 0x474b3d
cmp ax, 0x70
je 0x474b3d
mov eax, dword [esp + 0x10d14]
push eax
push 0x506324
call fcn.0049fc00
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.004768b0
jmp 0x474d69
xor edi, edi
mov dword [esp + 0x18], edi
mov eax, dword [0x518a90]
mov ecx, dword [esp + 0x38]
mov byte [0x5193a8], 0
mov dword [esp + 0x90], ecx
mov esi, ebx
test eax, eax
je 0x474b6e
cmp eax, 1
je 0x474b6e
cmp eax, 2
jne 0x474c43
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x270]
cmp edi, 2
jne 0x474c47
push ecx
lea edx, [esp + 0xcf0]
push edx
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x10d2c]
push eax
lea ecx, [esp + 0x2a]
push ecx
call fcn.0047f9b0
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x474c38
xor eax, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], eax
mov ebx, esi
lea eax, [esp + 0x84]
call fcn.00415310
push 1
push 0
push 0x50677c
lea esi, [esp + 0x90]
mov dword [esp + 0x10d18], 0
call fcn.00415800
mov edx, dword [esp + 0x90]
push 1
push 0
push edx
call fcn.00415800
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x14]
push eax
push edi
call fcn.004768b0
lea ecx, [esp + 0x84]
mov esi, eax
call fcn.00414f70
mov eax, esi
jmp 0x474d69
mov eax, dword [0x518a90]
mov edi, dword [esp + 0x18]
jmp 0x474c47
mov ebx, dword [esp + 0x14]
cmp word [esp + 0x1c], 0
je 0x474c67
mov ecx, dword [ebx + 0x274]
mov dword [0x519388], ecx
mov edx, dword [ebx + 0x270]
mov dword [0x519384], edx
test eax, eax
je 0x474ccd
cmp eax, 4
jne 0x474c84
mov esi, dword [ebx + 0x270]
mov ecx, 0x518a90
call fcn.0046dad0
test al, al
je 0x474ccd
mov eax, dword [ebx + 0x274]
cmp eax, dword [0x519368]
ja 0x474ccd
cmp word [esp + 0x1c], 0
jne 0x474ccd
cmp word [esp + 0x28], 0
jne 0x474ccd
push eax
mov eax, dword [ebx + 0x270]
push eax
mov eax, dword [esp + 0x10d20]
lea ecx, [esp + 0xa4]
push ecx
push edi
lea edx, [esp + 0x44]
push edx
push eax
lea ecx, [esp + 0x2a]
push ecx
call fcn.00480020
add esp, 0x1c
mov ecx, dword [esp + 0x10d18]
lea edx, [esp + 0x9c]
push edx
push edi
lea eax, [esp + 0x3c]
push eax
push ecx
push ebx
call fcn.00475270
test eax, eax
je 0x4733ab
cmp byte [esp + 0x13], 0
je 0x474d0e
push 0
push 0
push 0
push 0x73
push ebx
call fcn.00475270
test eax, eax
je 0x4733ab
mov edi, dword [esp + 0x24]
test edi, edi
je 0x473492
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x474d2a
push esi
push esi
push esi
push esi
push esi
push esi
jmp 0x474d61
mov eax, esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x474d30
sub eax, edx
sar eax, 1
push eax
mov edx, esi
sub edx, ebp
sar edx, 1
lea eax, [esp + edx*2 + 0xcf0]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x24]
push esi
lea ecx, [esp + 0x2f8]
push ecx
push edx
push eax
mov ecx, ebx
push edi
call fcn.00472d70
mov ecx, dword [esp + 0x10d04]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10d00
ret 0x1c