Function at 0x496306
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov dword [ebp - 0x11c], ecx
cmp dword [0x63a29c], 0
jne 0x496323
jmp 0x4975c0
mov eax, dword [0x6f0ab0]
cmp dword [eax + 0x24], 0x7530
je 0x496340
mov dword [0x63a29c], 0
jmp 0x4975c0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0xa3d]
cmp eax, 1
jne 0x49635a
jmp 0x4975c0
mov ecx, dword [0x277c018]
mov ecx, dword [ecx + 0x174]
mov edx, dword [0x277c018]
mov eax, dword [edx + 0x174]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x8a380], 0
je 0x4963d0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0xc]
sub edx, dword [ecx + 0x8a380]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x7d0
jbe 0x4963bb
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x8a380], 0
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + 0x8a374], 0
jmp 0x4975c0
mov edx, dword [ebp - 0x11c]
cmp dword [edx + 0x27204], 0
jne 0x49640f
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x2720c], 0
jne 0x49640f
mov ecx, dword [ebp - 0x11c]
cmp dword [ecx + 0x27210], 0
jne 0x49640f
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x4c]
cmp dword [eax + 0x1c8], 0
je 0x496433
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0xc]
mov dword [ecx + 0x8a380], edx
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x8a374], 0
jmp 0x4975c0
mov ecx, dword [0x277c024]
mov edx, dword [ecx + 0x7c4]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0x211]
test edx, edx
je 0x49646b
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x8a374], 0
jmp 0x4975c0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x3c], eax
mov edx, dword [0x277c024]
mov eax, dword [edx + 0x7bc]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx + 0x7c8]
mov dword [ebp - 0x30], edx
mov eax, dword [0x277c024]
mov ecx, dword [eax + 0x7c0]
mov dword [ebp - 8], ecx
push 0x50
mov edx, dword [0x277c024]
add edx, 0x84c
push edx
call fcn.00537962
add esp, 8
mov dword [ebp - 0x40], eax
push 0x52
mov eax, dword [0x277c024]
add eax, 0x84c
push eax
call fcn.00537962
add esp, 8
mov dword [ebp - 0x10], eax
mov ecx, dword [0x277c024]
movsx edx, word [ecx + 0x84c]
sub edx, 0x7fd
mov dword [ebp - 0x20], edx
mov eax, dword [0x277c024]
movsx ecx, word [eax + 0x84c]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x953
jl 0x496531
cmp dword [ebp - 0x14], 0x954
jg 0x496531
mov dword [ebp - 0x20], 0x150
jmp 0x49658e
cmp dword [ebp - 0x14], 0xf8c
jl 0x496551
cmp dword [ebp - 0x14], 0xf8e
jg 0x496551
mov edx, dword [ebp - 0x14]
sub edx, 0xe36
mov dword [ebp - 0x20], edx
jmp 0x49658e
cmp dword [ebp - 0x14], 0xf8f
jl 0x496570
cmp dword [ebp - 0x14], 0xf91
jg 0x496570
mov eax, dword [ebp - 0x14]
sub eax, 0xe39
mov dword [ebp - 0x20], eax
jmp 0x49658e
cmp dword [ebp - 0x14], 0xf92
jl 0x49658e
cmp dword [ebp - 0x14], 0xf94
jg 0x49658e
mov ecx, dword [ebp - 0x14]
sub ecx, 0xe3c
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
sub edx, 0x13b
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0
jge 0x4965a7
mov dword [ebp - 4], 0
mov eax, dword [0x277c024]
movsx ecx, word [eax + 0x84c]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
sub edx, 0x94a
mov dword [ebp - 0x120], edx
cmp dword [ebp - 0x120], 0xb
ja case.0x4965da.4
mov eax, dword [ebp - 0x120]
jmp dword [eax*4 + 0x4975c4]
mov dword [ebp - 4], 0x12
jmp case.0x4965da.4
mov dword [ebp - 4], 0x13
jmp case.0x4965da.4
mov dword [ebp - 4], 0x15
jmp case.0x4965da.4
mov dword [ebp - 4], 0x14
jmp case.0x4965da.4
mov dword [ebp - 4], 0x14
jmp case.0x4965da.4
mov dword [ebp - 4], 0x15
jmp case.0x4965da.4
mov dword [ebp - 4], 0x16
mov ecx, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x618838]
mov dword [ebp - 0x18], edx
mov word [ebp - 0x2c], 0
cmp dword [0x6135f4], 0
jne 0x496642
mov word [ebp - 0x2c], 0
jmp 0x496658
mov eax, dword [ebp - 0x18]
imul eax, dword [0x6135f4]
cdq
mov ecx, 0x64
idiv ecx
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x34]
imul eax, dword [0x6135f8]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
imul eax, dword [0x6135f8]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, 3
div ecx
test edx, edx
jne 0x496734
cmp dword [ebp - 0x40], 0
jle 0x4966be
movsx edx, word [ebp - 0x2c]
cmp dword [ebp - 0x40], edx
jge 0x4966be
mov ecx, dword [ebp - 0x11c]
call fcn.00452357
and eax, 0xff
test eax, eax
je 0x4966be
jmp 0x4975c0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x34]
jge 0x4966df
mov ecx, dword [ebp - 0x11c]
call fcn.004514fb
and eax, 0xff
test eax, eax
je 0x4966df
jmp 0x4975c0
mov ecx, dword [ebp - 0x11c]
cmp dword [ecx + 0x8a3a4], 3
je 0x49670f
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 8]
jge 0x49670f
mov ecx, dword [ebp - 0x11c]
call fcn.00451a2f
and eax, 0xff
test eax, eax
je 0x49670f
jmp 0x4975c0
cmp dword [ebp - 0x10], 0
jle 0x496734
cmp dword [ebp - 0x10], 6
jge 0x496734
mov ecx, dword [ebp - 0x11c]
call fcn.00452357
and eax, 0xff
test eax, eax
je 0x496734
jmp 0x4975c0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0x9d8], 1
jle 0x49674b
jmp 0x4975c0
mov edx, dword [ebp - 0x11c]
cmp dword [edx + 0x8c308], 0
je 0x496779
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x8c308], 1
je 0x496779
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + 0x8c308], 0
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x8c308]
imul eax, eax, 0xa
mov dword [ebp - 0x24], eax
jmp 0x496796
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x8c308]
imul eax, eax, 0xa
add eax, 0xa
cmp dword [ebp - 0x24], eax
jge 0x496bb8
mov ecx, dword [0x277c024]
add ecx, dword [ebp - 0x24]
xor edx, edx
mov dl, byte [ecx + 0xf46]
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x4967cd
jmp 0x49678d
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x44], 1
cmp dword [ebp - 0x4c], 3
je 0x496882
cmp dword [ebp - 0x4c], 5
je 0x496882
cmp dword [ebp - 0x4c], 0x35
je 0x496882
cmp dword [ebp - 0x4c], 0x36
je 0x496882
cmp dword [ebp - 0x4c], 9
je 0x496882
cmp dword [ebp - 0x4c], 0xb
je 0x496882
cmp dword [ebp - 0x4c], 0x25
je 0x496882
cmp dword [ebp - 0x4c], 0x29
je 0x496882
cmp dword [ebp - 0x4c], 0x2b
je 0x496882
cmp dword [ebp - 0x4c], 0x2c
je 0x496882
cmp dword [ebp - 0x4c], 0x2d
je 0x496882
cmp dword [ebp - 0x4c], 0x2e
je 0x496882
cmp dword [ebp - 0x4c], 0x40
je 0x496882
cmp dword [ebp - 0x4c], 0x42
je 0x496882
cmp dword [ebp - 0x4c], 0x44
je 0x496882
cmp dword [ebp - 0x4c], 0x46
je 0x496882
cmp dword [ebp - 0x4c], 0x47
je 0x496882
cmp dword [ebp - 0x4c], 0x57
je 0x496882
cmp dword [ebp - 0x4c], 0x4b
je 0x496882
cmp dword [ebp - 0x4c], 0x4c
je 0x496882
cmp dword [ebp - 0x4c], 0x4d
je 0x496882
cmp dword [ebp - 0x4c], 0x51
je 0x496882
cmp dword [ebp - 0x4c], 0x55
je 0x496882
cmp dword [ebp - 0x4c], 0x59
je 0x496882
cmp dword [ebp - 0x4c], 0x5c
jne 0x496b0f
mov dword [ebp - 0x50], 0
jmp 0x496894
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x20
jge 0x496958
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov cl, byte [edx + eax*8 + 0x8bc]
test ecx, ecx
jle 0x496953
cmp dword [ebp - 0x4c], 0x40
je 0x4968d9
cmp dword [ebp - 0x4c], 0x42
je 0x4968d9
cmp dword [ebp - 0x4c], 0x44
je 0x4968d9
cmp dword [ebp - 0x4c], 0x46
je 0x4968d9
cmp dword [ebp - 0x4c], 0x47
jne 0x496916
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov dl, byte [eax + ecx*8 + 0x8bc]
cmp dword [edx*4 + 0x613ab8], 0x47
jne 0x496914
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x50]
cmp dword [ecx + edx*8 + 0x8c0], 3
jle 0x496914
mov byte [ebp - 0x44], 0
jmp 0x496958
jmp 0x496953
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x50]
xor eax, eax
mov al, byte [ecx + edx*8 + 0x8bc]
mov ecx, dword [eax*4 + 0x613ab8]
cmp ecx, dword [ebp - 0x4c]
jne 0x496953
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x50]
cmp dword [eax + ecx*8 + 0x8c0], 3
jle 0x496953
mov byte [ebp - 0x44], 0
jmp 0x496958
jmp 0x49688b
mov edx, dword [ebp - 0x44]
and edx, 0xff
test edx, edx
je 0x496b0f
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x68], 0
cmp dword [ebp - 0x4c], 3
je 0x4969a1
cmp dword [ebp - 0x4c], 5
je 0x4969a1
cmp dword [ebp - 0x4c], 0x35
je 0x4969a1
cmp dword [ebp - 0x4c], 0x36
je 0x4969a1
cmp dword [ebp - 0x4c], 0x4a
je 0x4969a1
cmp dword [ebp - 0x4c], 0x4c
je 0x4969a1
cmp dword [ebp - 0x4c], 0x4d
jne 0x4969cd
mov eax, dword [0x277c024]
xor ecx, ecx
mov cx, word [eax + 0x7d6]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x4c]
imul edx, edx, 0x60
mov eax, dword [ebp - 0x58]
imul eax, dword [edx + 0x11da864]
imul eax, eax, 0x64
mov dword [ebp - 0x68], eax
jmp 0x496a91
cmp dword [ebp - 0x4c], 9
je 0x4969f7
cmp dword [ebp - 0x4c], 0xb
je 0x4969f7
cmp dword [ebp - 0x4c], 0xd
je 0x4969f7
cmp dword [ebp - 0x4c], 0xf
je 0x4969f7
cmp dword [ebp - 0x4c], 0x25
je 0x4969f7
cmp dword [ebp - 0x4c], 0x56
je 0x4969f7
cmp dword [ebp - 0x4c], 0x57
jne 0x496a21
mov ecx, dword [0x277c024]
xor edx, edx
mov dx, word [ecx + 0x7d8]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x4c]
imul eax, eax, 0x60
mov ecx, dword [ebp - 0x58]
imul ecx, dword [eax + 0x11da864]
imul ecx, ecx, 0x64
mov dword [ebp - 0x68], ecx
jmp 0x496a91
cmp dword [ebp - 0x4c], 0x29
je 0x496a69
cmp dword [ebp - 0x4c], 0x2b
je 0x496a69
cmp dword [ebp - 0x4c], 0x2c
je 0x496a69
cmp dword [ebp - 0x4c], 0x2d
je 0x496a69
cmp dword [ebp - 0x4c], 0x2e
je 0x496a69
cmp dword [ebp - 0x4c], 0x40
je 0x496a69
cmp dword [ebp - 0x4c], 0x42
je 0x496a69
cmp dword [ebp - 0x4c], 0x44
je 0x496a69
cmp dword [ebp - 0x4c], 0x46
je 0x496a69
cmp dword [ebp - 0x4c], 0x47
je 0x496a69
cmp dword [ebp - 0x4c], 0x59
je 0x496a69
cmp dword [ebp - 0x4c], 0x5a
jne 0x496a91
mov edx, dword [0x277c024]
xor eax, eax
mov ax, word [edx + 0x7da]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x4c]
imul ecx, ecx, 0x60
mov edx, dword [ebp - 0x58]
imul edx, dword [ecx + 0x11da864]
imul edx, edx, 0x64
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + eax*4 + 0x8bea0]
add edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0xc]
jbe 0x496aae
jmp 0x49678d
mov eax, dword [0x277c024]
mov cl, byte [ebp - 0x24]
mov byte [eax + 0xf45], cl
lea edx, [ebp - 0x64]
push edx
mov ecx, dword [ebp - 0x11c]
call fcn.004a20a6
push 0
push 1
mov eax, dword [ebp - 0xc]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x64]
mov dword [ecx], edx
mov eax, dword [ebp - 0x60]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x5c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x11c]
call fcn.0045a448
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 1
jne 0x496b0a
jmp 0x4975c0
jmp 0x49678d
cmp dword [ebp - 0x4c], 0x38
je 0x496b3f
cmp dword [ebp - 0x4c], 0x39
je 0x496b3f
cmp dword [ebp - 0x4c], 0x3a
je 0x496b3f
cmp dword [ebp - 0x4c], 0x3b
je 0x496b3f
cmp dword [ebp - 0x4c], 0x3c
je 0x496b3f
cmp dword [ebp - 0x4c], 0x3d
je 0x496b3f
cmp dword [ebp - 0x4c], 0x3e
je 0x496b3f
cmp dword [ebp - 0x4c], 0x3f
jne 0x496bb3
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + edx*4 + 0x8bea0]
add ecx, 0x13880
cmp ecx, dword [ebp - 0xc]
jbe 0x496b5f
jmp 0x49678d
mov edx, dword [0x277c024]
mov al, byte [ebp - 0x24]
mov byte [edx + 0xf45], al
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x11c]
call fcn.004a20a6
push 0
push 1
mov edx, dword [ebp - 0xc]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x74]
mov dword [eax], ecx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x11c]
call fcn.0045a448
jmp 0x4975c0
jmp 0x49678d
cmp dword [0x63a29c], 3
jne 0x496bc6
jmp 0x4975c0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
cmp eax, 0x93a
jl 0x496c32
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
cmp eax, 0x942
jg 0x496c32
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
cmp eax, 0xf57
jl 0x496c32
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
cmp eax, 0xf5f
jg 0x496c32
mov dword [ebp - 0x124], 1
jmp 0x496c3c
mov dword [ebp - 0x124], 0
cmp dword [ebp - 0x124], 0
je 0x496c4a
jmp 0x4975c0
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x8a3a0], 1
jne 0x496ea5
mov ecx, dword [ebp - 0x11c]
cmp dword [ecx + 0x8a374], 0
jne 0x496ea5
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x38]
cmp eax, dword [edx + 0x8a378]
jne 0x496c96
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x3c]
cmp edx, dword [ecx + 0x8a37c]
je 0x496ea5
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x8a37c]
push ecx
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x8a378]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0xa
jg 0x496ea5
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xc]
sub edx, dword [ecx + 0x7dc]
cmp edx, 0x3e8
jbe 0x496ea5
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0x211]
test edx, edx
jne 0x496ea5
mov eax, dword [ebp - 0x11c]
add eax, 0x276dc
push eax
mov ecx, dword [ebp - 0x11c]
mov ecx, dword [ecx + 0x4c]
add ecx, 0x668
call fcn.0040bf00
push 0x34
push 0
lea edx, [ebp - 0xac]
push edx
call fcn.005c5b80
add esp, 0xc
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0xa6], dx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x668]
mov word [ebp - 0xa0], dx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x66c]
mov word [ebp - 0x9e], dx
mov dword [ebp - 0x9c], 0
mov word [ebp - 0xa8], 0x36c
mov eax, dword [0x6185b4]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x11c]
mov dx, word [ecx + 0x8a378]
mov word [ebp - 0x7c], dx
mov eax, dword [ebp - 0x11c]
mov cx, word [eax + 0x8a37c]
mov word [ebp - 0x7a], cx
mov dword [ebp - 0xb0], 0
jmp 0x496dd3
mov edx, dword [ebp - 0xb0]
add edx, 1
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0x17
jge 0x496dec
mov eax, dword [ebp - 0xb0]
mov byte [ebp + eax - 0x94], 0
jmp 0x496dc4
mov ecx, dword [ebp - 0xa8]
and ecx, 0xffff
mov dword [0x63a2a8], ecx
movsx edx, word [ebp - 0xa0]
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x8b698], edx
movsx ecx, word [ebp - 0x9e]
mov edx, dword [ebp - 0x11c]
mov dword [edx + 0x8b69c], ecx
mov eax, dword [ebp - 0x7c]
and eax, 0xffff
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + 0x8b688], eax
mov edx, dword [ebp - 0x7a]
and edx, 0xffff
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x8b68c], edx
push 0x34
lea ecx, [ebp - 0xac]
push ecx
call fcn.0054da23
add esp, 8
lea edx, [ebp - 0xac]
push edx
push 0x36c
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 4]
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x4c]
mov dword [edx + 0x7dc], eax
jmp 0x4975c0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x50]
cmp eax, 1
jne 0x496ec6
jmp 0x4975c0
cmp dword [0x63a29c], 1
jne 0x4972ea
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x8a374], 0
je 0x49701f
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x497001
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0xc], 0
je 0x497001
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xb4]
cmp eax, dword [edx + 0x4c]
jne 0x496f41
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xb4], edx
jmp 0x496f02
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [eax + 0x8a374]
jne 0x496fed
mov edx, dword [ebp - 0x11c]
cmp dword [edx + 0x8a3a0], 2
jne 0x496f8d
push 0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x8a374]
push ecx
mov edx, dword [ebp - 0x11c]
mov ecx, dword [edx + 0x4c]
call fcn.005162b3
mov dword [ebp - 0xb8], eax
jmp 0x496fb0
push 1
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x8a374]
push ecx
mov edx, dword [ebp - 0x11c]
mov ecx, dword [edx + 0x4c]
call fcn.005162b3
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x8a374]
movsx edx, byte [ecx + 0xa25]
cmp edx, 1
jne 0x496fed
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x8a374]
cmp dword [ecx + 0x218], 0x42
jne 0x496fed
mov edx, dword [ebp - 0x11c]
mov dword [edx + 0x8a374], 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xb4], ecx
jmp 0x496f02
cmp dword [ebp - 0xb8], 0
jne 0x49701a
mov edx, dword [ebp - 0x11c]
mov dword [edx + 0x8a374], 0
jmp 0x4972e5
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x8a374], 0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x4970d3
mov ecx, dword [ebp - 0xc0]
cmp dword [ecx + 0xc], 0
je 0x4970d3
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xc0]
cmp eax, dword [edx + 0x4c]
jne 0x497082
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc0], edx
jmp 0x49704b
push 0
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x11c]
mov ecx, dword [ecx + 0x4c]
call fcn.005162b3
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 1
jne 0x4970bf
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xc0]
mov dword [edx + 0x8a374], eax
jmp 0x4975c0
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc0], edx
jmp 0x49704b
mov eax, dword [ebp - 0x11c]
cmp dword [eax + 0x8a374], 0
jne 0x4972e5
mov ecx, dword [ebp - 0x11c]
cmp dword [ecx + 0x8a3a0], 2
je 0x4972e5
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0
je 0x4972e5
mov edx, dword [ebp - 0xc8]
cmp dword [edx + 0xc], 0
je 0x4972e5
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [eax + 0x4c]
jne 0x497154
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
jmp 0x497115
mov ecx, dword [ebp - 0xc8]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xc8]
fld dword [edx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0xe4], eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx + 0xa5c]
and edx, 0x20000000
test edx, edx
je 0x4971ca
mov dword [ebp - 0xd8], 1
push 0x1b
mov eax, dword [0x277c024]
add eax, 0x750
push eax
call fcn.00539c2c
add esp, 8
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe4], 8
jle 0x497208
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc8], edx
jmp 0x497115
push 8
mov eax, dword [0x6f0ab0]
add eax, 0xd4
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.0054139a
add esp, 0x18
mov edx, dword [ebp - 0xc8]
fld dword [edx + 0x28]
call fcn.005c5ef0
cmp dword [ebp - 0xd0], eax
jne 0x49725f
mov eax, dword [ebp - 0xc8]
fld dword [eax + 0x2c]
call fcn.005c5ef0
cmp dword [ebp - 0xd4], eax
je 0x497273
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc8], edx
jmp 0x497115
mov dword [ebp - 0xdc], 0
cmp dword [ebp - 0xc8], 0
je 0x4972a3
push 1
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0x11c]
mov ecx, dword [ecx + 0x4c]
call fcn.005162b3
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 1
jne 0x4972c3
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x8a374], eax
jmp 0x4975c0
cmp dword [ebp - 0xdc], 2
jne 0x4972d1
jmp 0x4975c0
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc8], edx
jmp 0x497115
jmp 0x4975c0
cmp dword [0x63a29c], 2
jne 0x4975c0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0xa30], 1
jne 0x49730e
jmp 0x4975c0
mov edx, dword [ebp - 0x11c]
cmp dword [edx + 0x8a374], 0
je 0x49749e
mov dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x34]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0xec], 0
je 0x497480
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xc], 0
je 0x497480
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0xec]
cmp edx, dword [ecx + 0x4c]
jne 0x49737c
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xec], ecx
jmp 0x49733d
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xec]
cmp eax, dword [edx + 0x8a374]
jne 0x49746c
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x8a374]
fld dword [edx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x8a374]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x8a374]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x8a374]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x8a374]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x100]
call fcn.00438180
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x8a374]
push eax
push 0
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x100]
mov dword [ecx], edx
mov eax, dword [ebp - 0xfc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xf8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
mov ecx, dword [ebp - 0x11c]
call fcn.004567ce
test eax, eax
jne 0x49746c
mov edx, dword [ebp - 0x11c]
mov dword [edx + 0x8a374], 0
mov dword [ebp - 0xe8], 1
jmp 0x497480
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xec], ecx
jmp 0x49733d
cmp dword [ebp - 0xe8], 0
jne 0x497499
mov edx, dword [ebp - 0x11c]
mov dword [edx + 0x8a374], 0
jmp 0x4975c0
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x8a374], 0
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x4975c0
mov ecx, dword [ebp - 0x104]
cmp dword [ecx + 0xc], 0
je 0x4975c0
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x104]
cmp eax, dword [edx + 0x4c]
jne 0x4974ff
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x104], edx
jmp 0x4974c0
mov eax, dword [ebp - 0x104]
fld dword [eax + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x104]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x104]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x118]
call fcn.00438180
mov edx, dword [ebp - 0x104]
push edx
push 0
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x118]
mov dword [eax], ecx
mov edx, dword [ebp - 0x114]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x110]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x11c]
call fcn.004567ce
cmp eax, 1
jne 0x4975ac
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x104]
mov dword [ecx + 0x8a374], edx
jmp 0x4975c0
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x104], ecx
jmp 0x4974c0
mov esp, ebp
pop ebp
ret