Function at 0x521610
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x214
push ebx
push ebp
push esi
mov esi, dword [esp + 0x228]
push edi
mov ecx, esi
call fcn.0060e530
mov edi, dword [esp + 0x228]
xor ebx, ebx
mov ebp, 1
mov dword [esi + 0x20], ebp
mov dword [esi + 0x28], 3
mov dword [esi + 0x18], ebx
mov dword [esi + 0x24], closesocket
mov dword [esi + 0x10], 0xffffffff
mov eax, dword [edi + 0x24]
cmp eax, 0x11
je 0x521699
cmp eax, 0x13
je 0x521699
cmp eax, 0x14
je 0x521699
cmp eax, 0x17
je 0x521699
cmp eax, 0x1a
je 0x521699
cmp eax, 0x19
je 0x521699
cmp eax, 0xf
je 0x521699
cmp eax, 0x1e
je 0x521699
cmp eax, 0x1f
je 0x521699
cmp eax, 0x21
je 0x521699
cmp eax, 0x3a
je 0x521699
cmp eax, 0x3e
je 0x521699
cmp eax, 0x48
mov byte [esp + 0x13], bl
jne 0x52169e
mov byte [esp + 0x13], 1
mov eax, dword [0x74c650]
mov ecx, dword [eax + 0x458]
mov edx, dword [ecx]
call dword [edx + 0x58]
cmp eax, dword [edi + 0x30]
sbb al, al
inc al
mov byte [esp + 0x1b], al
mov eax, dword [edi + 0x24]
cmp eax, 0x17
je 0x5216d4
cmp eax, 0x1e
je 0x5216d4
cmp eax, 0x29
je 0x5216d4
cmp eax, 0x2d
mov byte [esp + 0x12], bl
jne 0x5216d9
mov byte [esp + 0x12], 1
cmp eax, 0x11
mov dword [esp + 0x1c], ebx
je 0x5216e7
cmp eax, 0x13
jne 0x5216f0
cmp dword [edi + 0x3c], ebx
jbe 0x5216f0
mov dword [esp + 0x1c], ebp
mov eax, dword [edi]
cmp eax, 0x2a6
je 0x521772
cmp eax, 0x2a7
je 0x521772
cmp eax, 0x2a9
je 0x521762
cmp eax, 0x318
je 0x521762
cmp eax, 0x31a
je 0x521762
cmp eax, 0x31b
je 0x521762
cmp eax, 0x317
je 0x521762
cmp eax, 0x316
je 0x521762
cmp eax, 0x2a8
je 0x521762
cmp eax, 0x2ec
je 0x521762
cmp eax, 0x2ed
je 0x521762
cmp eax, 0x2ee
je 0x521762
cmp eax, 0x2ef
je 0x521762
cmp eax, 0x31f
je 0x521762
cmp eax, 0x492
je 0x521762
cmp eax, 0x10cc
jne 0x521779
cmp eax, 0x2a7
je 0x521772
mov dword [esi + 0x10], 0xff00ff89
jmp 0x521779
mov dword [esi + 0x10], 0xffffffff
cmp dword [edi + 0x24], 0x10
je 0x521886
mov eax, dword [edi]
cmp eax, 0x2a6
je 0x521886
cmp eax, 0x2a7
je 0x521886
mov cl, byte [edi + 4]
cmp cl, bl
lea eax, [edi + 4]
je 0x5217d7
push eax
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
mov ecx, dword [0x6f253c]
add esp, 0x10
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov ebp, dword [esp + 0x238]
push 0x6e528c
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
test byte [esp + 0x230], 1
mov dword [esi + 0x10], 0xffffffff
je 0x521bab
mov eax, dword [edi + 0x264]
test al, 1
je 0x521a4c
mov edx, dword [edi + 0x1a8]
push edx
call fcn.0051f810
add esp, 4
call fcn.0063199c
mov ebp, eax
mov eax, dword [edi + 0x24]
imul ebp, dword [esp + 0x234]
cmp eax, 0x34
jne 0x521946
cmp ebp, ebx
je 0x521bab
push ebp
push 0x6e527c
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
jmp 0x521b9d
mov ebp, dword [esp + 0x238]
cmp ebp, 9
ja case.default.0x521892
jmp dword [ebp*4 + 0x5232c0]
mov dword [esi + 0x10], 0xff0056ea
jmp case.default.0x521892
mov dword [esi + 0x10], 0xffffde03
jmp case.default.0x521892
mov dword [esi + 0x10], 0xff00ff00
jmp case.default.0x521892
mov dword [esi + 0x10], 0xffd300ed
jmp case.default.0x521892
mov dword [esi + 0x10], 0xffffffff
mov cl, byte [edi + 4]
cmp cl, bl
lea eax, [edi + 4]
je 0x521900
push eax
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
mov ecx, dword [0x6f253c]
add esp, 0x10
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [ebp*4 + 0x73a7e0]
cmp byte [eax], bl
je 0x5217de
push eax
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
mov ecx, dword [0x6f253c]
add esp, 0x10
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
jmp 0x5217de
mov edx, dword [esp + 0x238]
push edx
push 5
call fcn.004514b0
test ebp, ebp
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ebp
fild dword [esp + 0x1c]
jge 0x52196f
fadd dword [0x6d4098]
fmulp st(1)
call fcn.0063199c
mov ebp, eax
mov eax, dword [0x74c4f0]
mov ecx, dword [eax + 0x34]
fild dword [eax + 0x34]
test ecx, ecx
jge 0x52198d
fadd dword [0x6d4098]
test ebp, ebp
mov dword [esp + 0x1c], ebp
fild dword [esp + 0x1c]
jge 0x52199f
fadd dword [0x6d4098]
fmulp st(1)
fmul dword [0x6d2a44]
fadd qword [0x6e4c60]
call fcn.0063199c
push ebp
mov dword [esp + 0x20], eax
call fcn.0051f6e0
mov cl, byte [eax]
add esp, 0xc
cmp cl, bl
je 0x5219f7
push ebp
call fcn.0051f6e0
push eax
push 0x6e526c
lea edx, [esp + 0x30]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x14
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [esp + 0x14]
cmp eax, ebx
jbe 0x521bab
mov ecx, eax
push ecx
mov dword [esi + 0x10], 0xff46be1b
call fcn.0051f6e0
mov cl, byte [eax]
add esp, 4
cmp cl, bl
je 0x521bab
mov edx, dword [esp + 0x14]
push edx
call fcn.0051f6e0
push eax
push 0x6e5264
lea eax, [esp + 0x30]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x14
push ebx
lea ecx, [esp + 0x28]
push ecx
jmp 0x521b9d
test al, 2
je 0x521afd
cmp dword [0x74cdfc], ebx
je 0x521afd
push ebp
push 5
call fcn.004514b0
mov edx, dword [edi + 0x1a8]
mov ebp, dword [esp + 0x23c]
imul edx, ebp
test edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edx
fild dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fild dword [esp + 0x28]
jge 0x521a96
fadd dword [0x6d4098]
fmul dword [esp + 0x1c]
call fcn.0063199c
push eax
call fcn.0051f6e0
add esp, 0xc
test eax, eax
je 0x521bab
mov eax, dword [edi + 0x1a8]
imul eax, ebp
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x521acb
fadd dword [0x6d4098]
fmul dword [esp + 0x14]
call fcn.0063199c
push eax
call fcn.0051f6e0
push eax
push 0x6e5250
lea ecx, [esp + 0x30]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x14
push ebx
lea edx, [esp + 0x28]
push edx
jmp 0x521b9d
test al, 6
je 0x521bab
cmp dword [0x74ce00], ebx
je 0x521bab
push ebp
push 5
call fcn.004514f0
fstp dword [esp + 0x1c]
mov eax, dword [edi + 0x1a8]
mov ebp, dword [esp + 0x23c]
imul eax, ebp
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x521b3f
fadd dword [0x6d4098]
fmul dword [esp + 0x1c]
call fcn.0063199c
push eax
call fcn.0051f6e0
add esp, 0xc
test eax, eax
je 0x521bab
mov ecx, dword [edi + 0x1a8]
imul ecx, ebp
test ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
jge 0x521b70
fadd dword [0x6d4098]
fmul dword [esp + 0x14]
call fcn.0063199c
push eax
call fcn.0051f6e0
push eax
push 0x6e523c
lea edx, [esp + 0x30]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x14
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x1a0]
cmp eax, 1
mov ebp, 0xff96e24c
jb 0x521e5a
cmp eax, 9
ja 0x521e5a
mov eax, dword [edi + 0x24]
cmp eax, 0xaa
je 0x521e5a
cmp eax, 0x65
jb 0x521c54
cmp eax, 0x76
ja 0x521c54
push 0x6e5230
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], ebp
mov eax, dword [edi + 0x24]
mov eax, dword [eax*4 + 0x73ac2c]
cmp byte [eax], bl
je 0x521c54
push eax
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x88
jb 0x521cd9
cmp eax, 0x8a
ja 0x521cd9
push 0x6e5224
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], ebp
mov edx, dword [edi + 0x24]
mov eax, dword [edx*4 + 0x73ab94]
cmp byte [eax], bl
je 0x521cd9
push eax
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x8d
jb 0x521d5e
cmp eax, 0x93
ja 0x521d5e
push 0x6e5224
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], ebp
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx*4 + 0x73ab64]
cmp byte [eax], bl
je 0x521d5e
push eax
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x9b
je 0x521d6f
cmp eax, 0x9c
jne 0x521de3
push 0x6e5224
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], ebp
mov eax, dword [edi + 0x24]
mov eax, dword [eax*4 + 0x73ab24]
cmp byte [eax], bl
je 0x521de3
push eax
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
push 0x6e5218
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], ebp
mov edx, dword [edi + 0x1a0]
mov eax, dword [edx*4 + 0x73ad68]
cmp byte [eax], bl
je 0x521e5a
push eax
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x78
jne 0x521f40
push 0x6e5230
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
push 0x6e5210
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
push 0x6e5218
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], ebp
cmp byte [0x6e5208], bl
je 0x521f40
push 0x6e5208
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi], 0x2a8
mov al, byte [esp + 0x1b]
jne 0x521f84
neg al
sbb eax, eax
and eax, 0xfeec
add eax, 0xffff0113
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x30]
cmp eax, ebx
je 0x521fce
push eax
push 0x6e51f8
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
jmp 0x521fc0
neg al
sbb eax, eax
and eax, 0xfeec
add eax, 0xffff0113
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x30]
cmp eax, ebx
jbe 0x521fce
cmp byte [esp + 0x13], bl
jne 0x521fce
push eax
push 0x6e51f8
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x1a4], ebx
jbe 0x522196
cmp byte [esp + 0x13], bl
jne 0x522196
mov eax, dword [edi + 0x24]
cmp eax, 0x15
je 0x522196
cmp byte [esp + 0x12], bl
jne 0x522196
cmp eax, 0x35
je 0x522196
cmp eax, 0x34
je 0x522196
cmp eax, 0x1a
je 0x522196
cmp eax, 0x19
je 0x522196
cmp eax, 0xf
je 0x522196
cmp eax, 0x17
je 0x522196
cmp eax, 0x31
je 0x522196
cmp eax, 0x43
je 0x522196
cmp eax, 0x42
je 0x522196
cmp eax, 0x44
je 0x522196
cmp eax, 0x4a
je 0x522196
cmp eax, 0x4e
je 0x522196
cmp eax, 0x50
je 0x522196
cmp eax, 0x5b
je 0x522196
cmp eax, 0x5a
je 0x522196
cmp eax, 0x5d
je 0x522196
cmp eax, 0x5e
je 0x522196
cmp eax, 0x5f
je 0x522196
cmp eax, 0x60
je 0x522196
cmp eax, 0x61
je 0x522196
cmp eax, 0x62
je 0x522196
cmp eax, 0x58
je 0x522196
cmp eax, 0x59
je 0x522196
cmp eax, 0x77
je 0x522196
cmp eax, 0x7c
je 0x522196
cmp eax, 0x7d
je 0x522196
cmp eax, 0x3a
je 0x522196
cmp eax, 0x3e
je 0x522196
cmp eax, 0x48
je 0x522196
cmp eax, 0x8c
je 0x522196
cmp eax, 0xaa
je 0x522196
push 0x6e51e8
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov ecx, dword [edi + 0x1a4]
add ecx, 0x31
mov eax, 0x51eb851f
mul ecx
shr edx, 4
cmp edx, ebx
je 0x522196
push edx
push 0x6d6fe8
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x35
jne 0x522218
cmp dword [edi + 0x1a4], ebx
jbe 0x522218
push 0x6e51dc
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x1a4]
cmp eax, ebx
je 0x522218
push eax
push 0x6d6fe8
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x3a
jne 0x5222a2
cmp dword [edi + 0x1a4], ebx
jbe 0x5222a2
push 0x6e51d0
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
or ebp, 0xffffffff
push edx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x1a4]
imul eax, eax, 0x64
cmp eax, ebx
je 0x5222a5
push eax
push 0x6d6fe8
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
jmp 0x5222a5
or ebp, 0xffffffff
cmp dword [edi + 0x24], 0x3e
jne 0x522326
cmp dword [edi + 0x1a4], ebx
jbe 0x522326
push 0x6e51c4
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x1a4]
imul eax, eax, 0x32
cmp eax, ebx
je 0x522326
push eax
push 0x6d6fe8
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x48
jne 0x5223a7
cmp dword [edi + 0x1a4], ebx
jbe 0x5223a7
push 0x6e51b8
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x1a4]
imul eax, eax, 0x64
cmp eax, ebx
je 0x5223a7
push eax
push 0x6d6fe8
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x34
jne 0x522431
cmp dword [edi + 0x1a4], ebx
jbe 0x522431
push 0x6e51b0
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, 0x88888889
mov dword [esi + 0x10], 0xff0056ea
mul dword [edi + 0x1a4]
shr edx, 5
cmp edx, ebx
je 0x522431
push edx
push 0x6e51a8
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x17
jne 0x52250f
push 0x6e519c
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
cmp dword [edi + 0x24], 0x77
jne 0x5224c0
mov edx, dword [edi + 0x1a4]
push 2
push edx
call fcn.0051f9a0
mov cl, byte [eax]
add esp, 8
cmp cl, bl
je 0x52250f
mov eax, dword [edi + 0x1a4]
push 2
push eax
call fcn.0051f9a0
push eax
push 0x6d1c40
lea ecx, [esp + 0x34]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x18
push ebx
lea edx, [esp + 0x28]
push edx
jmp 0x522501
mov eax, dword [edi + 0x1a4]
push ebx
push eax
call fcn.0051f9a0
mov cl, byte [eax]
add esp, 8
cmp cl, bl
je 0x52250f
mov ecx, dword [edi + 0x1a4]
push ebx
push ecx
call fcn.0051f9a0
push eax
push 0x6d1c40
lea edx, [esp + 0x34]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x18
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x7c
je 0x522520
cmp eax, 0x7d
jne 0x5225a9
push 0x6e519c
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x1a4]
push ebx
push eax
call fcn.0051f9a0
mov cl, byte [eax]
add esp, 8
cmp cl, bl
je 0x5225a9
mov ecx, dword [edi + 0x1a4]
push ebx
push ecx
call fcn.0051f9a0
push eax
push 0x6d1c40
lea edx, [esp + 0x34]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x18
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x43
je 0x5225c4
cmp eax, 0x42
je 0x5225c4
cmp eax, 0x44
je 0x5225c4
cmp eax, 0x4a
jne 0x5226a9
push 0x6e5194
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x24]
cmp eax, 0x42
je 0x522658
cmp eax, 0x43
je 0x522658
cmp eax, 0x44
je 0x522658
cmp eax, 0x4a
je 0x522658
mov eax, dword [edi + 0x1a4]
push ebx
push eax
call fcn.0051fae0
mov cl, byte [eax]
add esp, 8
cmp cl, bl
je 0x5226a9
mov ecx, dword [edi + 0x1a4]
push ebx
push ecx
call fcn.0051fae0
push eax
push 0x6d1c40
lea edx, [esp + 0x34]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x18
push ebx
lea eax, [esp + 0x28]
push eax
jmp 0x52269b
mov ecx, dword [edi + 0x1a4]
push 2
push ecx
call fcn.0051fae0
mov cl, byte [eax]
add esp, 8
cmp cl, bl
je 0x5226a9
mov edx, dword [edi + 0x1a4]
push 2
push edx
call fcn.0051fae0
push eax
push 0x6d1c40
lea eax, [esp + 0x34]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x18
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x77
jne 0x52271f
push 0x6e51e8
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x1a4]
cmp eax, ebx
je 0x52271f
push eax
push 0x6d6fe8
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x21
jne 0x52275e
mov dword [esi + 0x10], ebp
mov eax, dword [edi + 0x1a4]
cmp eax, ebx
je 0x52275e
push eax
push 0x6e5184
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x77
je 0x5227fe
cmp eax, 0x7c
je 0x5227fe
cmp eax, 0x7d
je 0x5227fe
cmp eax, 0x8c
je 0x5227fe
mov ebp, dword [esp + 0x1c]
cmp ebp, 1
jne 0x5227a1
mov eax, dword [edi + 0x3c]
cmp eax, 8
je 0x5228a8
cmp eax, 9
je 0x5228a8
cmp dword [edi + 0x3c], ebx
jbe 0x5228a8
push 0x6e5178
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x3c]
cmp eax, ebx
je 0x5228a8
push eax
push 0x6d3898
jmp 0x522882
mov ebp, dword [esp + 0x1c]
cmp ebp, 1
jne 0x52281c
mov eax, dword [edi + 0x3c]
cmp eax, 8
je 0x5228a8
cmp eax, 9
je 0x5228a8
cmp dword [edi + 0x3c], ebx
je 0x5228a8
push 0x6e5178
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x3c]
mov edx, 0xc
cmp edx, eax
sbb eax, eax
and eax, 0xd5aa05
add eax, 0xff0056ea
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x3c]
cmp eax, ebx
je 0x5228a8
push eax
push 0x6e5170
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
lea edx, [esp + 0x24]
push ebx
mov ecx, esi
push edx
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x77
je 0x522a4e
cmp eax, 0x7c
je 0x522a4e
cmp eax, 0x8c
je 0x522a4e
cmp eax, 0x7d
jne 0x5229d7
cmp ebp, 1
jne 0x5228eb
mov eax, dword [edi + 0x3c]
cmp eax, 0xa
je 0x522af6
cmp eax, 0xb
je 0x522af6
cmp dword [edi + 0x40], ebx
je 0x522af6
push 0x6e5164
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
or ebp, 0xffffffff
push eax
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x40]
mov edx, 0xc
cmp edx, eax
sbb eax, eax
and eax, 0xd5aa05
add eax, 0xff0056ea
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x40]
cmp eax, ebx
je 0x522976
push eax
push 0x6e5170
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
push 0x6e5178
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
push str._10000
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], 0xffd600ef
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
jmp 0x522ae8
cmp ebp, 1
jne 0x5229f1
mov eax, dword [edi + 0x3c]
cmp eax, 0xa
je 0x522af6
cmp eax, 0xb
je 0x522af6
cmp dword [edi + 0x40], ebx
je 0x522af6
push 0x6e5150
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x40]
cmp eax, ebx
je 0x522af6
push eax
push 0x6d3898
jmp 0x522ad0
cmp ebp, 1
jne 0x522a68
mov eax, dword [edi + 0x3c]
cmp eax, 0xa
je 0x522af6
cmp eax, 0xb
je 0x522af6
cmp dword [edi + 0x40], ebx
je 0x522af6
push 0x6e5164
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], 0xffffffff
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov edx, dword [edi + 0x40]
mov ecx, 0xc
cmp ecx, edx
sbb edx, edx
and edx, 0xd5aa05
add edx, 0xff0056ea
mov dword [esi + 0x10], edx
mov eax, dword [edi + 0x40]
cmp eax, ebx
je 0x522af6
push eax
push 0x6e5170
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
lea ecx, [esp + 0x24]
push ebx
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x24]
cmp eax, 0x77
je 0x522b95
cmp eax, 0x7c
je 0x522b95
cmp eax, 0x7d
je 0x522b95
cmp eax, 0x8c
je 0x522b95
cmp dword [edi + 0x4c], ebx
jbe 0x522c2e
cmp byte [esp + 0x12], bl
jne 0x522c2e
push 0x6e5140
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
or ebp, 0xffffffff
push edx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x48]
cmp eax, ebx
jne 0x522b74
cmp dword [edi + 0x4c], ebx
je 0x522c31
mov ecx, dword [edi + 0x4c]
push ecx
push eax
push 0x6e1524
lea edx, [esp + 0x30]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x14
jmp 0x522c18
cmp dword [edi + 0x4c], ebx
jbe 0x522c2e
cmp byte [esp + 0x12], bl
jne 0x522c2e
push 0x6e512c
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
or ebp, 0xffffffff
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov ecx, dword [edi + 0x4c]
mov eax, 0xc
cmp eax, ecx
sbb ecx, ecx
and ecx, 0xd5aa05
add ecx, 0xff0056ea
mov dword [esi + 0x10], ecx
mov eax, dword [edi + 0x4c]
cmp eax, ebx
je 0x522c31
push eax
push str._u__
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
jmp 0x522c31
or ebp, 0xffffffff
mov eax, dword [edi + 0x24]
cmp eax, 0x77
je 0x522cc9
cmp eax, 0x7c
je 0x522cc9
cmp eax, 0x7d
je 0x522cc9
cmp eax, 0x8c
je 0x522cc9
cmp dword [edi + 0x54], ebx
jbe 0x522d5d
cmp byte [esp + 0x12], bl
jne 0x522d5d
push 0x6e5114
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x50]
cmp eax, ebx
jne 0x522ca8
cmp dword [edi + 0x54], ebx
je 0x522d5d
mov ecx, dword [edi + 0x54]
push ecx
push eax
push 0x6e1524
lea edx, [esp + 0x30]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x14
jmp 0x522d49
cmp dword [edi + 0x54], ebx
jbe 0x522d5d
cmp byte [esp + 0x12], bl
jne 0x522d5d
push 0x6e5100
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov ecx, dword [edi + 0x54]
mov eax, 0xc
cmp eax, ecx
sbb ecx, ecx
and ecx, 0xd5aa05
add ecx, 0xff0056ea
mov dword [esi + 0x10], ecx
mov eax, dword [edi + 0x54]
cmp eax, ebx
je 0x522d5d
push eax
push str._u__
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
lea eax, [esp + 0x24]
push ebx
mov ecx, esi
push eax
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp byte [esp + 0x13], bl
jne 0x522e3d
cmp dword [edi + 0x58], ebx
jbe 0x522dd2
push 0x6e50f0
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x58]
cmp eax, ebx
je 0x522dd2
push eax
push 0x6d6fe8
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x5c], ebx
jbe 0x522e3d
push 0x6e50e0
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], ebp
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x5c]
cmp eax, ebx
je 0x522e3d
push eax
push 0x6d6fe8
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], 0xff0056ea
mov eax, dword [edi + 0x60]
cmp eax, ebx
je 0x522e77
push eax
push 0x6e50d0
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x64]
cmp eax, ebx
je 0x522eaa
push eax
push 0x6e50c0
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x68]
cmp eax, ebx
je 0x522edd
push eax
push 0x6e50b0
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov eax, dword [edi + 0x6c]
cmp eax, ebx
je 0x522f10
push eax
push 0x6e50a0
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov dword [esi + 0x10], ebp
mov eax, dword [edi + 0x24]
cmp eax, 0x68
jb 0x522f50
cmp eax, 0x6b
ja 0x522f50
push 0x6e508c
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x6c
jne 0x522f86
push 0x6e5078
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x6d
jne 0x522fbc
push 0x6e5064
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x6e
jne 0x522ff2
push 0x6e5050
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x6f
jne 0x523028
push 0x6e503c
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x88
jne 0x523061
push 0x6e5028
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x89
jne 0x52309a
push 0x6e5014
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
cmp dword [edi + 0x24], 0x9b
jne 0x5230d3
push 0x6e5004
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
lea ebp, [edi + 0x1c8]
push 0x6db7b8
push ebp
call fcn.00630b00
add esp, 8
test eax, eax
je 0x523135
push 0x6d1416
push ebp
call fcn.00630b00
add esp, 8
test eax, eax
je 0x523135
mov dword [esi + 0x10], 0xffffffff
cmp byte [ebp], bl
je 0x523135
push ebp
push 0x6e5000
lea eax, [esp + 0x2c]
push 0x200
push eax
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov ecx, 0xff796424
mov dword [esi + 0x10], ecx
mov eax, dword [edi + 0x24]
cmp eax, 0x65
jb 0x52314e
cmp eax, 0x76
jbe 0x52327c
cmp eax, 0x82
jb 0x523160
cmp eax, 0x86
jbe 0x52327c
cmp eax, 0x88
jb 0x523172
cmp eax, 0x8a
jbe 0x52327c
cmp eax, 0x8d
jb 0x523184
cmp eax, 0x93
jbe 0x52327c
cmp eax, 0x9b
je 0x52327c
cmp eax, 0x9c
je 0x52327c
cmp eax, 0x11
je 0x523258
cmp eax, 0x13
je 0x523258
cmp eax, 0x14
je 0x523258
cmp eax, 0x19
je 0x523258
cmp eax, 0x1a
je 0x523258
cmp eax, 0x21
je 0x523258
cmp eax, 0x17
je 0x523231
cmp eax, 0x1e
je 0x523231
cmp eax, 0x1f
je 0x523231
cmp eax, 0x29
jne 0x5232ac
push 0x6e4fec
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
mov dword [esi + 0x10], ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov edi, dword [edi + 0x1a4]
cmp edi, ebx
je 0x5232ac
push edi
push 0x6e4fd8
jmp 0x523286
push 0x6e4fec
push 0x6d1c40
lea eax, [esp + 0x2c]
push 0x200
push eax
mov dword [esi + 0x10], ecx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea ecx, [esp + 0x28]
push ecx
jmp 0x52329e
push 0x6e4fc4
push 0x6d1c40
lea edx, [esp + 0x2c]
push 0x200
push edx
call fcn.0062ff8d
add esp, 0x10
push ebx
lea eax, [esp + 0x28]
push eax
jmp 0x52329e
push 0x6e4fb0
push 0x6d1c40
lea ecx, [esp + 0x2c]
push 0x200
push ecx
call fcn.0062ff8d
add esp, 0x10
lea edx, [esp + 0x24]
push ebx
push edx
mov ecx, esi
mov byte [esp + 0x22b], bl
call fcn.0060f440
mov ecx, esi
call fcn.0060d8c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x214
ret