Function at 0x43b480
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
mov eax, dword [0x487680]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
mov ebx, dword [ebp + 8]
push esi
or esi, 0xffffffff
mov dword [ebp - 0x180], ebx
xor eax, eax
mov dword [ebp - 0x16c], 0
push edi
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x17c], ecx
lea edi, [ebx + 0x60]
nop dword [eax]
cmp dword [ebp - 0x16c], 0
jg 0x43b4fb
cmp esi, 0xffffffff
jne 0x43b5a3
push edi
call fcn.004059a0
add esp, 4
test eax, eax
jle 0x43e4be
mov eax, dword [ebp - 0x164]
jmp 0x43b504
cmp esi, 0xffffffff
jne 0x43b5a3
cmp dword [ebp - 0x16c], 0
jne 0x43b566
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x178]
push eax
push edi
call fcn.00405980
mov esi, dword [ebp - 0x16c]
add esp, 0xc
cmp esi, 0x100
jbe 0x43b53d
mov esi, pe_nt_image_headers32
mov dword [ebp - 0x16c], esi
push esi
push dword [ebp - 0x178]
lea eax, [ebp - 0x154]
push eax
call fcn.0044d8e0
push esi
push edi
call fcn.004058d0
mov esi, dword [ebp - 0x168]
lea eax, [ebp - 0x154]
add esp, 0x14
movzx edx, byte [eax]
inc eax
dec dword [ebp - 0x16c]
cmp dword [ebx + 0x1128], 2
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x164], eax
jne 0x43b5b4
mov eax, dword [ebx + 0x108c]
test eax, eax
je 0x43b5b4
push 2
push edx
push eax
call fcn.00403190
mov edx, dword [ebp - 0x15c]
add esp, 0xc
jmp 0x43b5b4
mov edx, esi
or esi, 0xffffffff
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x168], esi
cmp dword [ebx + 0xec], 0
je 0x43b6a9
push 1
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebx + 0xf8]
push eax
call fcn.004057f0
add esp, 0xc
cmp dword [ebx + 0xf0], 0
je 0x43b6a3
mov eax, dword [ebp - 0x15c]
cmp eax, 0x1b
jne 0x43b606
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 1
jmp 0x43b4d0
cmp eax, 0x9b
jne 0x43b622
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 2
jmp 0x43b4d0
mov ecx, dword [ebx + 0xf4]
cmp eax, 0x5b
jne 0x43b647
cmp ecx, 1
jne 0x43b647
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 2
jmp 0x43b4d0
cmp eax, 0x34
jne 0x43b666
cmp ecx, 2
jne 0x43b68e
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 3
jmp 0x43b4d0
cmp eax, 0x69
jne 0x43b68e
cmp ecx, 3
jne 0x43b68e
push ebx
mov dword [ebx + 0xf4], 4
call fcn.0043e9b0
mov eax, dword [ebp - 0x164]
add esp, 4
jmp 0x43b4d0
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 0
jmp 0x43b4d0
mov edx, dword [ebp - 0x15c]
cmp dword [ebx + 0xe44], 0
jne case.default.0x43b7b4
cmp dword [ebx + 0xdc], 0
jne 0x43b7a5
mov ecx, dword [ebx + 0x1090]
cmp dword [ecx + 0xc], 0xfde9
je 0x43b7a5
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x43b70a
cmp edx, 0x1b
je 0x43b70a
cmp edx, 0xa
je 0x43b70a
cmp edx, 0xd
je 0x43b70a
cmp edx, 8
je 0x43b70a
cmp eax, 2
jne 0x43b6ff
or edx, 0x80
or edx, 0xda00
jmp 0x43b91a
mov eax, dword [ebx + 0x94]
mov eax, dword [ebx + eax*4 + 0x170]
cmp eax, 0xda00
jg 0x43b76a
je 0x43b753
cmp eax, 0xd800
je 0x43b784
cmp eax, 0xd900
jne case.default.0x43b7b4
mov al, byte [ecx + edx + 0xa10]
cmp al, 0xff
je 0x43b745
movzx edx, al
jmp 0x43b91a
movzx edx, dl
or edx, 0xd900
jmp 0x43b91a
cmp edx, 0x20
jb case.default.0x43b7b4
movzx edx, dl
or edx, 0xda00
jmp 0x43b91a
cmp eax, 0xdb00
jne case.default.0x43b7b4
cmp edx, 0x23
jne 0x43b784
mov edx, 0xd97d
jmp 0x43b91a
mov al, byte [ecx + edx + 0xa10]
cmp al, 0xff
je 0x43b797
movzx edx, al
jmp 0x43b91a
movzx edx, dl
or edx, 0xd800
jmp 0x43b91a
mov esi, dword [ebx + 0xe0]
cmp esi, 5
ja case.default.0x43b7b4
jmp dword [esi*4 + 0x43e4f4]
cmp edx, 0x80
jae 0x43b7dc
mov eax, dword [ebx + 0x1090]
mov al, byte [eax + edx + 0xa10]
cmp al, 0xff
je 0x43b797
movzx edx, al
jmp 0x43b91a
mov eax, edx
and eax, 0xe0
cmp al, 0xc0
jne 0x43b815
mov esi, dword [ebp - 0x168]
and edx, 0x1f
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 1
mov dword [ebx + 0xe8], 1
mov dword [ebx + 0xe4], edx
jmp 0x43b4d0
mov eax, edx
and eax, 0xf0
cmp al, 0xe0
jne 0x43b84e
mov esi, dword [ebp - 0x168]
and edx, 0xf
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 2
mov dword [ebx + 0xe8], 2
mov dword [ebx + 0xe4], edx
jmp 0x43b4d0
mov eax, edx
and eax, 0xf8
cmp al, 0xf0
jne 0x43b887
mov esi, dword [ebp - 0x168]
and edx, 7
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 3
mov dword [ebx + 0xe8], 3
mov dword [ebx + 0xe4], edx
jmp 0x43b4d0
mov eax, edx
and eax, 0xfc
cmp al, 0xf8
jne 0x43b8c0
mov esi, dword [ebp - 0x168]
and edx, 3
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 4
mov dword [ebx + 0xe8], 4
mov dword [ebx + 0xe4], edx
jmp 0x43b4d0
mov eax, edx
and eax, 0xfe
cmp al, 0xfc
jne 0x43b915
mov esi, dword [ebp - 0x168]
and edx, 1
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 5
mov dword [ebx + 0xe8], 5
mov dword [ebx + 0xe4], edx
jmp 0x43b4d0
mov eax, edx
and al, 0xc0
cmp al, 0x80
je 0x43b99a
mov dword [ebp - 0x168], edx
mov dword [ebx + 0xe0], 0
mov edx, 0xd961
mov dword [ebp - 0x15c], edx
mov eax, edx
and eax, 0xffffffe0
cmp eax, 0x80
jne 0x43baf0
cmp dword [ebx + 0xe44], 5
jge 0x43baf0
cmp dword [ebx + 0x148], 0
jne 0x43baf0
test byte [ebx], 0x10
je 0x43baf0
cmp edx, 0x9a
jne 0x43bad0
xor edx, edx
mov dword [ebp - 0x15c], edx
test edx, 0xffffffe0
jne 0x43bf49
cmp dword [ebx + 0xe44], 5
jge 0x43bf49
add edx, 0xfffffffb
cmp edx, 0x16
ja case.0x43c801.10545
movzx eax, byte [edx + 0x43e53c]
jmp dword [eax*4 + 0x43e50c]
mov ecx, dword [ebx + 0xe4]
mov eax, edx
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
lea eax, [esi - 1]
mov esi, dword [ebp - 0x168]
test eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe4], edx
jne 0x43b4d0
mov dword [ebp - 0x15c], edx
cmp edx, 0x80
jb 0x43b915
cmp edx, 0x800
jae 0x43b9f6
cmp dword [ebx + 0xe8], 2
jge 0x43b915
cmp edx, 0x10000
jae 0x43ba0b
cmp dword [ebx + 0xe8], 3
jge 0x43b915
cmp edx, 0x200000
jae 0x43ba20
cmp dword [ebx + 0xe8], 4
jge 0x43b915
cmp edx, 0x4000000
jae 0x43ba35
cmp dword [ebx + 0xe8], 5
jge 0x43b915
cmp edx, 0x2028
je 0x43bac6
cmp edx, 0x2029
je 0x43bac6
cmp edx, 0xa0
jb 0x43bac6
cmp edx, 0xd800
jb 0x43ba65
cmp edx, 0xe000
jb 0x43b915
cmp edx, 0x10ffff
ja 0x43b915
cmp edx, 0xe0000
jb 0x43ba91
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
cmp edx, 0xe007f
jbe 0x43b4d0
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
cmp edx, 0xfeff
je 0x43b4d0
cmp edx, 0xfffe
je 0x43b915
cmp edx, 0xffff
jne case.default.0x43b7b4
jmp 0x43b915
mov edx, 0xfffd
jmp 0x43b91a
and edx, 0x1f
mov dword [ebx + 0xe44], 1
add edx, 0x40
mov dword [ebx + 0x230], 0
mov dword [ebp - 0x15c], edx
cmp edx, 0x7f
jne 0x43b967
cmp dword [ebx + 0xe44], 5
jge 0x43b967
test dword [ebx], 0x4000
je 0x43b967
mov eax, dword [ebx + 0x70]
mov ecx, eax
test eax, eax
je 0x43bb2a
cmp dword [ebx + 0x8c], 0
jne 0x43bb2a
lea ecx, [eax - 1]
mov dword [ebx + 0x70], ecx
cmp dword [ebx + 0x1140], 0
mov dword [ebx + 0x8c], 0
jne case.0x43c801.10545
push dword [ebx + 0x6c]
push ecx
push ebx
call fcn.00437e70
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
inc eax
push eax
push ebx
call fcn.00437e70
add esp, 0x18
lea eax, [ebx + 0x54]
push eax
push dword [ebx + 0x70]
push 1
push 0xb8e
push dword [ebx + 0x6c]
push ebx
call fcn.00439240
add esp, 0x10
push eax
call fcn.004380d0
add esp, 0xc
jmp case.0x43c801.10545
test byte [ebx], 1
je 0x43e083
mov eax, dword [ebx + 0x1084]
test eax, eax
je case.0x43c801.10545
push 0
push dword [ebx + 0x10dc]
push dword [ebx + 0x10d8]
push 0
push eax
call fcn.00402770
add esp, 0x14
jmp case.0x43c801.10545
call dword [ebp - 0x17c]
cmp dword [ebx + 0x34], 0
mov esi, eax
jne 0x43bbf4
push 8
push 1
call fcn.00406150
mov ecx, eax
add esp, 8
mov dword [ecx + 4], esi
mov dword [ecx], 0
cmp dword [ebx + 0x28], 0
jne 0x43bbe9
mov dword [ebx + 0x28], ecx
jmp 0x43bbee
mov eax, dword [ebx + 0x2c]
mov dword [eax], ecx
inc dword [ebx + 0x30]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x43bc28
nop dword [eax + eax]
mov eax, esi
sub eax, dword [ebx + 0x10f4]
cmp dword [ecx + 4], eax
jae 0x43bc28
mov eax, dword [ecx]
push ecx
mov dword [ebx + 0x28], eax
call fcn.00406130
mov ecx, dword [ebx + 0x28]
add esp, 4
dec dword [ebx + 0x30]
test ecx, ecx
jne 0x43bc00
mov dword [ebx + 0x2c], ecx
mov ecx, dword [ebx + 0x10e8]
test ecx, ecx
je 0x43bc68
cmp dword [ebx + 0x34], 0
je 0x43bc51
mov eax, esi
sub eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 0x10f0]
jb 0x43bc68
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], esi
jmp 0x43bc6f
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebx + 0x10ec]
jl 0x43bc68
mov dword [ebx + 0x34], 1
mov dword [ebx + 0x38], esi
jmp 0x43bc6f
mov dword [ebx + 0x38], esi
test ecx, ecx
je 0x43bc79
cmp dword [ebx + 0x34], 0
jne 0x43bd05
push dword [ebx + 0x10e4]
push dword [ebx + 0x1088]
call fcn.00441950
add esp, 8
cmp dword [ebx + 0x10e4], 2
jne 0x43bd05
push 0
push 0
push ebx
call fcn.0043eca0
add esp, 0xc
push ebx
call fcn.0043a530
jmp 0x43e469
mov eax, dword [ebx + 0x70]
test eax, eax
jne 0x43bce3
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x43bd05
cmp dword [ebx + 0x88], eax
je 0x43bd05
test ecx, ecx
jle 0x43bce3
mov eax, dword [ebx + 0x12c]
dec eax
mov dword [ebx + 0x70], eax
lea eax, [ecx - 1]
push ebx
mov dword [ebx + 0x6c], eax
call fcn.0043a530
jmp 0x43e469
cmp dword [ebx + 0x8c], 0
je 0x43bd01
push ebx
mov dword [ebx + 0x8c], 0
call fcn.0043a530
jmp 0x43e469
dec eax
mov dword [ebx + 0x70], eax
push ebx
call fcn.0043a530
jmp 0x43e469
test byte [ebx], 2
je 0x43e083
mov dword [ebx + 0x94], 1
jmp case.0x43c801.10545
test byte [ebx], 2
je 0x43e083
mov dword [ebx + 0x94], 0
jmp case.0x43c801.10545
cmp dword [ebx + 0x148], 0
je 0x43bd59
mov eax, 9
mov dword [ebx + 0xe44], eax
jmp case.0x43c801.10545
test byte [ebx], 1
je 0x43e083
mov eax, 1
mov dword [ebx + 0x230], 0
mov dword [ebx + 0xe44], eax
jmp case.0x43c801.10545
push ebx
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x8c], 0
call fcn.0043a530
add esp, 4
cmp dword [ebx + 0x1114], 0
je 0x43bdd0
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x43bdbf
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.0043a290
add esp, 0x14
jmp 0x43bdd0
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x43bdd0
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x108c]
test eax, eax
je case.0x43c801.10545
push 1
push dword [ebp - 0x15c]
push eax
call fcn.00403190
add esp, 0xc
jmp case.0x43c801.10545
test dword [ebx], 0x1000
je case.0x43b993.11
push 0
push 0
push 0
push ebx
call fcn.00439800
push 1
push 0
push 0
push ebx
call fcn.00438dc0
add esp, 0x20
cmp dword [ebx + 0x1168], 0
je 0x43be27
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x8c], 0
push ebx
call fcn.0043a530
jmp 0x43e469
test byte [ebx], 2
jne case.0x43b993.10
mov dword [ebx + 0xe44], 0
jmp case.0x43c801.10545
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x43be70
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.0043a290
add esp, 0x14
jmp 0x43be81
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x43be81
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
cmp dword [ebx + 0x1120], 0
je 0x43be91
mov dword [ebx + 0x70], 0
push ebx
mov dword [ebx + 0x8c], 0
call fcn.0043a530
mov eax, dword [ebx + 0x108c]
add esp, 4
test eax, eax
je case.0x43c801.10545
push 1
push dword [ebp - 0x15c]
push eax
call fcn.00403190
add esp, 0xc
jmp case.0x43c801.10545
mov esi, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
push 1
push 0xc2a
push esi
push ebx
mov dword [ebp - 0x160], eax
call fcn.00439240
mov edx, dword [ebx + 0x12c]
add esp, 0x10
mov edi, eax
dec edx
nop
mov ecx, dword [ebx + 0x70]
inc ecx
mov dword [ebx + 0x70], ecx
cmp ecx, edx
jge 0x43bf07
mov eax, dword [ebx + 0xe40]
cmp byte [ecx + eax], 0
je 0x43bef0
test byte [edi], 3
mov eax, dword [ebx + 0x12c]
je 0x43bf21
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x43bf28
dec eax
mov dword [ebx + 0x70], eax
jmp 0x43bf28
cmp ecx, eax
jl 0x43bf28
mov dword [ebx + 0x70], edx
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebp - 0x160]
push esi
push ebx
call fcn.00437f40
push ebx
call fcn.0043a530
add esp, 0x18
jmp case.0x43c801.10545
mov eax, dword [ebx + 0xe44]
cmp eax, 0xd
ja case.0x43c801.10545
jmp dword [eax*4 + 0x43e554]
push 1
push 0xc44
push dword [ebx + 0x6c]
push ebx
call fcn.00439240
mov ecx, dword [ebp - 0x15c]
add esp, 0x10
and ecx, 0xfffffc00
mov esi, eax
cmp ecx, 0xd800
jne 0x43bf8f
mov edi, 1
jmp 0x43bfaf
cmp dword [ebx + 0x1108], 0
push dword [ebp - 0x15c]
je 0x43bfa5
call fcn.00440920
jmp 0x43bfaa
call fcn.004408c0
mov edi, eax
add esp, 4
cmp dword [ebx + 0x8c], 0
je 0x43c020
cmp dword [ebx + 0x88], 0
je 0x43c020
test edi, edi
jle 0x43c020
or word [esi], 0x10
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x43bfe9
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.0043a290
add esp, 0x14
jmp 0x43bffa
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x43bffa
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
push 1
push 0xc55
push dword [ebx + 0x6c]
mov dword [ebx + 0x70], 0
push ebx
mov dword [ebx + 0x8c], 0
call fcn.00439240
add esp, 0x10
mov esi, eax
cmp dword [ebx + 0x90], 0
je 0x43c037
test edi, edi
jle 0x43c037
push edi
push ebx
call fcn.00439040
add esp, 8
cmp dword [ebx + 0xe48], 0
je 0x43c06b
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0x18c], ecx
cmp ecx, dword [ebx + 0x12c]
jne 0x43c059
xor ecx, ecx
inc eax
jmp 0x43c05a
inc ecx
push ecx
push eax
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push ebx
call fcn.00437f40
add esp, 0x14
mov eax, dword [ebp - 0x15c]
and eax, 0xffffff00
cmp eax, 0xd800
je 0x43c081
test eax, eax
jne 0x43c09c
mov eax, dword [ebx + 0x108c]
test eax, eax
je 0x43c09c
push 1
push dword [ebp - 0x15c]
push eax
call fcn.00403190
add esp, 0xc
sub edi, 0
je 0x43c27e
sub edi, 1
je 0x43c1af
sub edi, 1
jne 0x43c290
push dword [ebx + 0x6c]
push dword [ebx + 0x70]
push ebx
call fcn.00437e70
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
add eax, 2
push eax
push ebx
call fcn.00437e70
mov eax, dword [ebx + 0x12c]
add esp, 0x18
mov ecx, dword [ebx + 0x70]
dec eax
cmp ecx, eax
jne 0x43c163
lea eax, [ebx + 0x54]
push eax
push ecx
push esi
call fcn.004380d0
or word [esi], 0x30
add esp, 0xc
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x43c11a
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.0043a290
add esp, 0x14
jmp 0x43c12b
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x43c12b
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
push 1
push 0xc85
push dword [ebx + 0x6c]
mov dword [ebx + 0x70], 0
push ebx
call fcn.00439240
push dword [ebx + 0x6c]
mov esi, eax
push dword [ebx + 0x70]
push ebx
call fcn.00437e70
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
add eax, 2
push eax
push ebx
call fcn.00437e70
add esp, 0x28
push dword [ebx + 0x70]
push esi
call fcn.00437f90
mov eax, dword [ebx + 0x70]
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x15c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebx + 0x70]
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x40]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x70]
push dword [ebx + 0x70]
push esi
call fcn.00437f90
mov eax, dword [ebx + 0x70]
add esp, 0x10
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4], 0xdfff
jmp 0x43c1e7
push dword [ebx + 0x6c]
push dword [ebx + 0x70]
push ebx
call fcn.00437e70
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
inc eax
push eax
push ebx
call fcn.00437e70
push dword [ebx + 0x70]
push esi
call fcn.00437f90
mov eax, dword [ebx + 0x70]
add esp, 0x20
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x15c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebx + 0x70]
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x40]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [ebx + 0x70]
lea eax, [ecx + 1]
mov dword [ebx + 0x70], eax
cmp eax, dword [ebx + 0x12c]
jne 0x43be31
cmp dword [ebx + 0x88], 0
mov dword [ebx + 0x70], ecx
mov dword [ebx + 0x8c], 1
je 0x43be31
cmp dword [ebx + 0x148], 0
je 0x43be31
or word [esi], 0x10
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x43c261
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.0043a290
add esp, 0x14
mov dword [ebx + 0x70], 0
jmp 0x43be27
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x43c272
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x70], 0
jmp 0x43be27
mov edx, dword [ebx + 0x70]
test edx, edx
jg 0x43c2a1
nop word [eax + eax]
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
jmp 0x43b4c6
cmp dword [ebx + 0x8c], 0
lea eax, [edx - 1]
cmove edx, eax
mov eax, dword [esi + 0x14]
lea ecx, [edx + edx*2]
cmp dword [eax + ecx*4], 0xdfff
jne 0x43c2be
dec edx
push dword [ebp - 0x15c]
push edx
push esi
call fcn.00437da0
push ebx
call fcn.0043a530
mov esi, dword [ebp - 0x168]
add esp, 0x10
mov eax, dword [ebp - 0x164]
jmp 0x43b4c6
cmp edx, 0x5c
jne case.0x43bf58.1
push ebx
call fcn.00438270
mov dword [ebx + 0xe44], 0
jmp 0x43e469
lea eax, [edx - 0x20]
cmp eax, 0xf
ja 0x43c321
cmp dword [ebx + 0x230], 0
mov eax, 0xffffffff
cmovne edx, eax
mov dword [ebx + 0x230], edx
jmp case.0x43c801.10545
mov ecx, dword [ebx + 0x230]
shl ecx, 8
add ecx, edx
mov dword [ebx + 0xe44], 0
mov eax, ecx
cmp eax, 0x2333
ja 0x43c582
je case.0x43c5a1.9012
sub eax, 0x37
cmp eax, 0x2c
ja case.0x43c801.10545
movzx eax, byte [eax + 0x43e5c0]
jmp dword [eax*4 + 0x43e58c]
mov dword [ebx + 0xe44], 2
mov dword [ebx + 0x22c], 1
mov dword [ebx + 0x1ac], 0
mov dword [ebx + 0x230], 0
jmp case.0x43c801.10545
test dword [ebx], 0x4000
je case.0x43c801.10545
mov dword [ebx + 0xe44], 3
mov dword [ebx + 0x1ac], 0
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
push 1
push ebx
call fcn.0043a160
add esp, 8
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
push 0
push ebx
call fcn.0043a160
push ebx
call fcn.0043a530
add esp, 0xc
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
mov dword [ebx + 0x144], 1
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
mov dword [ebx + 0x144], 0
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x43c449
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.0043a290
add esp, 0x14
jmp 0x43be27
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x43be27
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
jmp 0x43be27
test byte [ebx], 2
je case.0x43c801.10545
mov dword [ebx + 0x70], 0
jmp 0x43c426
test byte [ebx], 2
je case.0x43c801.10545
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jne 0x43c4a1
push 1
push 0xffffffffffffffff
push dword [ebx + 0x80]
push ecx
push ebx
call fcn.0043a290
add esp, 0x14
jmp 0x43be27
test eax, eax
jle 0x43be27
dec eax
mov dword [ebx + 0x6c], eax
jmp 0x43be27
test byte [ebx], 2
je case.0x43c801.10545
mov edx, dword [ebx + 0x1084]
test edx, edx
je case.0x43c801.10545
lea esi, [ebx + 0xa40]
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43c4d4
push 0
sub ecx, edi
push ecx
push esi
push edx
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
push 1
push ebx
call fcn.00439990
mov eax, dword [ebx + 0x1084]
add esp, 8
test eax, eax
je 0x43c516
push eax
call fcn.00401d40
add esp, 4
cmp dword [ebx + 0xb4], 0
je 0x43c548
cmp dword [ebx + 0x114c], 0
jne 0x43c53e
push dword [ebx + 0x128]
push 0x50
push dword [ebx + 0x1088]
call fcn.00443b80
add esp, 0xc
mov dword [ebx + 0xb4], 0
cmp dword [ebx + 0x1168], 0
je 0x43be31
push ebx
mov dword [ebx + 0x10], 0
call fcn.0043a530
jmp 0x43e469
test byte [ebx], 2
je case.0x43c801.10545
mov ecx, dword [ebx + 0xe40]
mov eax, dword [ebx + 0x70]
mov byte [ecx + eax], 1
jmp case.0x43c801.10545
cmp eax, 0x2538
ja 0x43c6c8
je 0x43c6f6
sub eax, 0x2334
cmp eax, 4
ja case.0x43c801.10545
jmp dword [eax*4 + 0x43e5f0]
test byte [ebx], 2
je case.0x43c801.10545
xor eax, eax
mov dword [ebp - 0x158], eax
cmp dword [ebx + 0x128], eax
jle 0x43c642
push 1
push 0xd3d
push eax
push ebx
call fcn.00439240
push eax
push ebx
mov dword [ebp - 0x160], eax
call fcn.00437f10
xor esi, esi
add esp, 0x18
cmp dword [ebx + 0x12c], esi
jle 0x43c622
lea eax, [ebx + 0x48]
xor edi, edi
push eax
push esi
push dword [ebp - 0x160]
call fcn.004380d0
mov eax, dword [ebp - 0x160]
lea edi, [edi + 0xc]
inc esi
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [edi + eax - 0xc], 0x45
lea eax, [ebx + 0x48]
cmp esi, dword [ebx + 0x12c]
jl 0x43c5f2
mov eax, dword [ebp - 0x160]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
cmp eax, dword [ebx + 0x128]
jl 0x43c5c5
cmp dword [ebx + 0x1168], 0
je 0x43c652
mov dword [ebx + 0x10], 0
push ebx
call fcn.0043a530
push 0
push dword [ebx + 0x128]
push 0
push 0
push ebx
call fcn.00437f40
add esp, 0x18
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
sub ecx, 0x2333
je 0x43c69f
sub ecx, 1
je 0x43c698
sub ecx, 1
je 0x43c694
mov edi, 1
jmp 0x43c6a4
xor edi, edi
jmp 0x43c6a4
mov edi, 3
jmp 0x43c6a4
mov edi, 2
push 1
push 0xd67
push dword [ebx + 0x6c]
push ebx
call fcn.00439240
mov esi, eax
push esi
push ebx
call fcn.00437f10
add esp, 0x18
mov word [esi], di
jmp case.0x43c801.10545
cmp eax, 0x2855
ja 0x43c7ec
je 0x43c7c4
cmp eax, 0x2830
ja 0x43c76b
je 0x43c746
sub eax, 0x2540
je 0x43c71e
sub eax, 7
jne case.0x43c801.10545
test dword [ebx], 0x4000
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0xdc], 1
jmp case.0x43c801.10545
test dword [ebx], 0x4000
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0xdc], 0
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0x170], 0xd900
jmp case.0x43c801.10545
sub eax, 0x2841
je 0x43c79f
sub eax, 1
jne case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
cmp dword [ebx + 0x1148], eax
jne case.0x43c801.10545
mov dword [ebx + 0x170], 0xd800
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0x170], 0xdb00
jmp case.0x43c801.10545
test dword [ebx], 0x4000
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0x170], 0xda00
jmp case.0x43c801.10545
sub eax, 0x2930
cmp eax, 0x25
ja case.0x43c801.10545
movzx eax, byte [eax + 0x43e618]
jmp dword [eax*4 + 0x43e604]
test byte [ebx], 2
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0x174], 0xdb00
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0x174], 0xd800
jmp case.0x43c801.10545
test byte [ebx], 2
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0x174], 0xd900
jmp case.0x43c801.10545
test dword [ebx], 0x4000
je case.0x43c801.10545
cmp dword [ebx + 0x1148], 0
jne case.0x43c801.10545
mov dword [ebx + 0x174], 0xda00
jmp case.0x43c801.10545
push edx
mov dword [ebx + 0xe44], 0
call fcn.004544a0
add esp, 4
test eax, eax
je 0x43c93d
mov eax, dword [ebx + 0x22c]
cmp eax, 0x20
jg 0x43c9ab
cmp dword [ebx + eax*4 + 0x1a8], 0
jne 0x43c8de
mov dword [ebx + eax*4 + 0x1a8], 0
mov eax, dword [ebx + 0x22c]
lea edx, [ebx + eax*4]
mov eax, dword [edx + 0x1a8]
cmp eax, 0x19999999
ja 0x43c924
mov esi, dword [ebp - 0x15c]
lea ecx, [eax + eax*4]
mov eax, 0xffffffcf
add ecx, ecx
sub eax, esi
cmp ecx, eax
ja 0x43c924
lea eax, [esi - 0x30]
add eax, ecx
mov dword [edx + 0x1a8], eax
mov dword [ebx + 0xe44], 2
jmp case.0x43c801.10545
mov dword [edx + 0x1a8], 0xffffffff
mov dword [ebx + 0xe44], 2
jmp case.0x43c801.10545
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0x3b
jne 0x43c973
mov eax, dword [ebx + 0x22c]
cmp eax, 0x20
jge 0x43c9ab
mov dword [ebx + eax*4 + 0x1ac], 0
inc dword [ebx + 0x22c]
mov dword [ebx + 0xe44], 2
jmp case.0x43c801.10545
cmp ecx, 0x40
jae 0x43c9ba
cmp dword [ebx + 0x230], 0
je 0x43c99a
mov dword [ebx + 0x230], 0xffffffff
mov dword [ebx + 0xe44], 2
jmp case.0x43c801.10545
cmp ecx, 0x3f
mov eax, 1
cmove ecx, eax
mov dword [ebx + 0x230], ecx
mov dword [ebx + 0xe44], 2
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x230]
shl eax, 8
add eax, ecx
cmp eax, 0x168
ja 0x43d9a8
je case.0x43c9e9.104
sub eax, 0x40
cmp eax, 0x38
ja case.0x43c801.10545
movzx eax, byte [eax + 0x43e6c8]
jmp dword [eax*4 + 0x43e640]
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
sub eax, ecx
push 1
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00439800
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
test dword [ebx], 0x2000
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
add eax, ecx
jmp 0x43ca16
test dword [ebx], 0x2000
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
mov dword [ebx + 0x1ac], ecx
test ecx, ecx
push dword [ebx + 0x6c]
cmove ecx, eax
mov eax, dword [ebx + 0x70]
add eax, ecx
push eax
push ebx
call fcn.00439800
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
mov dword [ebx + 0x1ac], ecx
test ecx, ecx
push dword [ebx + 0x6c]
cmove ecx, eax
mov eax, dword [ebx + 0x70]
sub eax, ecx
push eax
push ebx
call fcn.00439800
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
test dword [ebx], 0x2000
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
add eax, ecx
push eax
push 0
push ebx
call fcn.00439800
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
test dword [ebx], 0x2000
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
sub eax, ecx
push eax
push 0
push ebx
call fcn.00439800
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
test dword [ebx], 0x2000
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
push 0
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
push dword [ebx + 0x6c]
cmove ecx, eax
lea eax, [ecx - 1]
push eax
push ebx
call fcn.00439800
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
test dword [ebx], 0x2000
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x43cbfe
mov edx, dword [ebx + 0x7c]
jmp 0x43cc00
xor edx, edx
test ecx, ecx
mov esi, 1
cmove ecx, esi
neg eax
sbb eax, eax
and eax, 2
push eax
lea eax, [edx - 1]
add eax, ecx
jmp 0x43ca18
cmp dword [ebx + 0x22c], 2
jge 0x43cc29
xor esi, esi
jmp 0x43cc2f
mov esi, dword [ebx + 0x1b0]
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov edx, dword [ebx + 0x12c]
cmp esi, edx
cmovbe edx, esi
mov dword [ebx + 0x1b0], edx
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x43cc66
mov esi, dword [ebx + 0x7c]
jmp 0x43cc68
xor esi, esi
test ecx, ecx
mov edi, 1
cmove ecx, edi
test edx, edx
cmove edx, edi
neg eax
sbb eax, eax
and eax, 2
push eax
lea eax, [ecx - 1]
add eax, esi
push eax
lea eax, [edx - 1]
push eax
push ebx
call fcn.00439800
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
cmp eax, 3
jne 0x43ccbc
cmp dword [ebx + 0x1154], 0
jne 0x43ccdc
push ebx
call fcn.0043ae50
add esp, 4
jmp 0x43ccdc
inc eax
xor ecx, ecx
cmp eax, 3
cmovbe ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
and ecx, 1
push eax
push ecx
push 0
push ebx
call fcn.00438dc0
add esp, 0x10
cmp dword [ebx + 0x1168], 0
je 0x43be31
push ebx
mov dword [ebx + 0x10], 0
call fcn.0043a530
jmp 0x43e469
mov eax, dword [ebx + 0x1ac]
xor ecx, ecx
inc eax
cmp eax, 3
cmovbe ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
and ecx, 1
push eax
push ecx
push 1
push ebx
call fcn.00438dc0
push ebx
call fcn.0043a530
add esp, 0x14
jmp case.0x43c801.10545
test byte [ebx], 8
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov eax, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x80]
cmp eax, edx
jg 0x43be31
test ecx, ecx
mov esi, 1
push 0
cmove ecx, esi
neg ecx
push ecx
push edx
push eax
push ebx
call fcn.0043a290
add esp, 0x14
push ebx
call fcn.0043a530
jmp 0x43e469
test byte [ebx], 8
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov eax, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x80]
cmp eax, edx
jg 0x43be31
test ecx, ecx
mov esi, 1
push esi
cmove ecx, esi
push ecx
push edx
push eax
push ebx
call fcn.0043a290
add esp, 0x14
push ebx
call fcn.0043a530
jmp 0x43e469
test byte [ebx], 8
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
push ecx
push ebx
call fcn.00439040
push ebx
call fcn.0043a530
add esp, 0xc
jmp case.0x43c801.10545
test byte [ebx], 8
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
neg ecx
jmp 0x43cdff
test byte [ebx], 2
je 0x43e083
mov edx, dword [ebx + 0x1084]
test edx, edx
je case.0x43c801.10545
lea esi, [ebx + 0xa40]
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ce64
push 0
sub ecx, edi
push ecx
push esi
push edx
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
mov ecx, dword [ebx + 0x1084]
test ecx, ecx
je case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
cmp eax, 6
jne 0x43cee3
mov eax, dword [ebx + 0x70]
inc eax
push eax
mov eax, dword [ebx + 0x6c]
inc eax
push eax
lea eax, [ebp - 0x24]
push str.e__d__dR
push eax
call fcn.004017f0
lea ecx, [ebp - 0x24]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43cec0
push 0
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
push eax
push dword [ebx + 0x1084]
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
cmp eax, 5
jne case.0x43c801.10545
push 0
push 4
push str.e_0n
push ecx
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
test byte [ebx], 2
je 0x43e083
cmp dword [ebx + 0x22c], 1
jne case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
test eax, eax
jne 0x43cf35
mov ecx, dword [ebx + 0xe40]
mov eax, dword [ebx + 0x70]
mov byte [ecx + eax], 0
jmp case.0x43c801.10545
cmp eax, 3
jne case.0x43c801.10545
xor ecx, ecx
cmp dword [ebx + 0x12c], ecx
jle case.0x43c801.10545
nop dword [eax]
mov eax, dword [ebx + 0xe40]
mov byte [ecx + eax], 0
inc ecx
cmp ecx, dword [ebx + 0x12c]
jl 0x43cf50
jmp case.0x43c801.10545
test byte [ebx], 2
je 0x43e083
mov edi, dword [ebx + 0x22c]
cmp edi, 2
jg case.0x43c801.10545
mov edx, dword [ebx + 0x128]
mov ecx, edx
mov eax, dword [ebx + 0x1ac]
mov esi, edx
cmp eax, edx
cmovbe ecx, eax
mov eax, dword [ebx + 0x1b0]
cmp eax, edx
mov dword [ebx + 0x1ac], ecx
cmovbe esi, eax
test ecx, ecx
mov eax, 1
mov dword [ebx + 0x1b0], esi
cmove ecx, eax
dec ecx
cmp edi, eax
jle 0x43cfbf
test esi, esi
jne 0x43cfc1
mov esi, edx
lea eax, [esi - 1]
cmp eax, edx
cmovl edx, esi
dec edx
mov eax, edx
sub eax, ecx
test eax, eax
jle case.0x43c801.10545
xor eax, eax
mov dword [ebx + 0x7c], ecx
cmp dword [ebx + 0x84], eax
push ebx
cmovne eax, ecx
mov dword [ebx + 0x80], edx
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x6c], eax
call fcn.0043a530
jmp 0x43e469
mov ecx, dword [ebx + 0x22c]
xor edx, edx
mov dword [ebp - 0x160], edx
test ecx, ecx
jle 0x43e463
lea eax, [ebx + 0x1b4]
mov dword [ebp - 0x158], eax
lea edi, [ebx + 0x1b0]
lea esi, [ebx + 0x1ac]
nop dword [eax]
mov eax, dword [esi]
cmp eax, 0x6b
ja case.0x43d042.2
movzx eax, byte [eax + 0x43e760]
jmp dword [eax*4 + 0x43e704]
mov eax, dword [ebx + 0x3c]
jmp 0x43d2a7
test byte [ebx], 4
mov eax, dword [ebp - 0x158]
jne 0x43d06b
mov dword [ebx + 0xe44], 0
jmp 0x43d2b0
or dword [ebx + 0x40], 0x40000
jmp 0x43d2b0
test dword [ebx], 0x4000
jne case.0x43d042.4
mov dword [ebx + 0xe44], 0
jmp case.0x43d042.2
test byte [ebx], 4
mov eax, dword [ebp - 0x158]
jne 0x43d0a8
mov dword [ebx + 0xe44], 0
jmp 0x43d2b0
or dword [ebx + 0x40], 0x80000
jmp 0x43d2b0
test byte [ebx], 4
mov eax, dword [ebp - 0x158]
jne 0x43d0ce
mov dword [ebx + 0xe44], 0
jmp 0x43d2b0
or dword [ebx + 0x40], 0x200000
jmp 0x43d2b0
test dword [ebx], 0x1000
jne 0x43d0f1
mov dword [ebx + 0xe44], 0
jmp case.0x43d042.2
or dword [ebx + 0x40], 0x200000
push ebx
mov dword [ebx + 0xc4], 0
call fcn.0043ec00
add esp, 4
jmp case.0x43d042.2
or dword [ebx + 0x40], 0x100000
jmp case.0x43d042.2
test dword [ebx], 0x1000
jne 0x43d133
mov dword [ebx + 0xe44], 0
jmp case.0x43d042.2
cmp dword [ebx + 0x1148], 0
mov eax, dword [ebp - 0x158]
jne 0x43d2b0
mov dword [ebx + 0xd0], 0
jmp 0x43d2b0
test dword [ebx], 0x1000
jne 0x43d16c
mov dword [ebx + 0xe44], 0
jmp case.0x43d042.2
cmp dword [ebx + 0x1148], 0
mov eax, dword [ebp - 0x158]
jne 0x43d2b0
mov dword [ebx + 0xd0], 1
jmp 0x43d2b0
test dword [ebx], 0x1000
jne 0x43d1a5
mov dword [ebx + 0xe44], 0
jmp case.0x43d042.2
cmp dword [ebx + 0x1148], 0
jne case.0x43d042.2
mov dword [ebx + 0xd0], 2
jmp case.0x43d042.2
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x43d1de
mov dword [ebx + 0xe44], 0
jmp 0x43d2b0
and dword [ebx + 0x40], 0xfffbffff
jmp 0x43d2b0
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x43d207
mov dword [ebx + 0xe44], 0
jmp 0x43d2b0
and dword [ebx + 0x40], 0xfff7ffff
jmp 0x43d2b0
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x43d230
mov dword [ebx + 0xe44], 0
jmp 0x43d2b0
and dword [ebx + 0x40], 0xffdfffff
jmp 0x43d2b0
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x43d253
mov dword [ebx + 0xe44], 0
jmp 0x43d2b0
and dword [ebx + 0x40], 0xffefffff
jmp 0x43d2b0
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffffe00
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x1e
jmp 0x43d2a5
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffffe00
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x52
jmp 0x43d2a5
mov eax, dword [ebx + 0x40]
and eax, 0xffffff00
or eax, 0x100
jmp 0x43d2a7
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffc01ff
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x28
shl eax, 9
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x158]
inc dword [ebp - 0x160]
add eax, 4
mov ecx, dword [ebx + 0x22c]
add esi, 4
mov edx, dword [ebp - 0x160]
add edi, 4
mov dword [ebp - 0x158], eax
cmp edx, ecx
jl 0x43d030
jmp 0x43e463
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffc01ff
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x5c
jmp 0x43d2a2
mov eax, dword [ebx + 0x40]
and eax, 0xfffe05ff
or eax, 0x20400
jmp 0x43d2a7
add edx, 2
cmp edx, ecx
jge case.0x43d042.2
cmp dword [edi], 5
mov eax, dword [ebp - 0x158]
jne 0x43d2b0
mov ecx, dword [ebx + 0x40]
add esi, 8
and ecx, 0xfffffe00
mov dword [ebp - 0x160], edx
mov dword [ebx + 0x40], ecx
add edi, 8
movzx eax, byte [eax]
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x158]
add eax, 8
jmp 0x43d2b0
add edx, 2
cmp edx, ecx
jge case.0x43d042.2
cmp dword [edi], 5
mov eax, dword [ebp - 0x158]
jne 0x43d2b0
mov ecx, dword [ebx + 0x40]
add esi, 8
and ecx, 0xfffc01ff
mov dword [ebp - 0x160], edx
mov dword [ebx + 0x40], ecx
add edi, 8
movzx eax, byte [eax]
shl eax, 9
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x158]
add eax, 8
jmp 0x43d2b0
mov ecx, dword [ebx + 0x22c]
cmp ecx, 1
jg 0x43d3ee
mov eax, dword [ebx + 0x1ac]
cmp eax, 1
jb 0x43d3a6
cmp eax, 0x18
jb 0x43d3e5
test dword [ebx], 0x100
je 0x43e083
cmp dword [ebx + 0x114c], 0
jne 0x43d3da
test eax, eax
mov ecx, 0x18
cmove eax, ecx
push eax
push dword [ebx + 0x12c]
push dword [ebx + 0x1088]
call fcn.00443b80
add esp, 0xc
push ebx
call fcn.00438230
jmp 0x43e469
cmp ecx, 1
jl case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
dec eax
cmp eax, 0x16
ja case.0x43c801.10545
test dword [ebx], 0x4000
je 0x43e083
cmp eax, 0x14
ja case.0x43c801.10545
jmp dword [eax*4 + 0x43e7cc]
push 0
push dword [ebx + 0x1088]
call fcn.004443b0
add esp, 8
jmp case.0x43c801.10545
push 1
push dword [ebx + 0x1088]
call fcn.004443b0
add esp, 8
jmp case.0x43c801.10545
cmp ecx, 3
jl case.0x43c801.10545
cmp dword [ebx + 0x114c], 0
jne case.0x43c801.10545
push dword [ebx + 0x1b4]
push dword [ebx + 0x1b0]
push dword [ebx + 0x1088]
call fcn.00443670
add esp, 0xc
jmp case.0x43c801.10545
push 1
push dword [ebx + 0x1088]
call fcn.00444580
add esp, 8
jmp case.0x43c801.10545
push 0
push dword [ebx + 0x1088]
call fcn.00444580
add esp, 8
jmp case.0x43c801.10545
push dword [ebx + 0x1088]
call fcn.00443b60
jmp 0x43e469
cmp ecx, 3
jl case.0x43c801.10545
cmp dword [ebx + 0x114c], 0
jne case.0x43c801.10545
mov ecx, dword [ebx + 0x1b0]
test ecx, ecx
jne 0x43d4d9
mov ecx, dword [ebx + 0x110c]
mov eax, dword [ebx + 0x1b4]
test eax, eax
jne 0x43d4e9
mov eax, dword [ebx + 0x1110]
push ecx
push eax
push dword [ebx + 0x1088]
call fcn.00443b80
add esp, 0xc
jmp case.0x43c801.10545
cmp ecx, 2
jl case.0x43c801.10545
xor eax, eax
cmp dword [ebx + 0x1b0], eax
setne al
push eax
push dword [ebx + 0x1088]
call fcn.00444540
add esp, 8
jmp case.0x43c801.10545
cmp dword [ebx + 0x1084], 0
je case.0x43c801.10545
push 0
push 4
push dword [ebx + 0x1088]
call fcn.00443600
add esp, 4
mov ecx, str.e_2t
test eax, eax
mov eax, str.e_1t
cmove ecx, eax
push ecx
push dword [ebx + 0x1084]
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
cmp dword [ebx + 0x1084], 0
je case.0x43c801.10545
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
push dword [ebx + 0x1088]
call fcn.00443060
push dword [ebp - 0x174]
push dword [ebp - 0x170]
push str.e_3__u__ut
jmp 0x43d5d8
cmp dword [ebx + 0x1084], 0
je case.0x43c801.10545
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
push dword [ebx + 0x1088]
call fcn.00443010
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push str.e_4__d__dt
lea eax, [ebp - 0x54]
push eax
call fcn.004017f0
push 0
push eax
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0x1084]
call fcn.00401e40
add esp, 0x2c
jmp case.0x43c801.10545
cmp dword [ebx + 0x1084], 0
je case.0x43c801.10545
push dword [ebx + 0x12c]
lea eax, [ebp - 0x54]
push dword [ebx + 0x128]
push str.e_8__d__dt
push eax
call fcn.004017f0
push 0
push eax
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0x1084]
call fcn.00401e40
add esp, 0x20
jmp case.0x43c801.10545
cmp dword [ebx + 0x1084], 0
je case.0x43c801.10545
mov eax, dword [ebx + 0x1160]
test eax, eax
je case.0x43c801.10545
cmp eax, 2
jne 0x43d670
push 1
push dword [ebx + 0x1088]
call fcn.004430b0
add esp, 8
mov edi, eax
jmp 0x43d676
mov edi, dword [0x485790]
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x43d680
push 0
push 3
push 0x478288
push dword [ebx + 0x1084]
sub esi, ecx
call fcn.00401e40
push 0
push esi
push edi
push dword [ebx + 0x1084]
call fcn.00401e40
push 0
push 2
push 0x47828c
push dword [ebx + 0x1084]
call fcn.00401e40
add esp, 0x30
jmp case.0x43c801.10545
cmp dword [ebx + 0x1084], 0
je case.0x43c801.10545
mov eax, dword [ebx + 0x1160]
test eax, eax
je case.0x43c801.10545
cmp eax, 2
jne 0x43d6fc
push 0
push dword [ebx + 0x1088]
call fcn.004430b0
add esp, 8
mov edi, eax
jmp 0x43d702
mov edi, dword [0x485790]
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x43d707
push 0
push 3
push 0x478290
jmp 0x43d690
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
test dword [ebx], 0x1000
je 0x43e083
test ecx, ecx
mov eax, 1
cmove ecx, eax
push 1
push ecx
push dword [ebx + 0x80]
push dword [ebx + 0x7c]
push ebx
call fcn.0043a290
push ebx
mov dword [ebx + 0x8c], 0
call fcn.0043a530
add esp, 0x18
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
test dword [ebx], 0x1000
je 0x43e083
test ecx, ecx
mov eax, 1
cmove ecx, eax
neg ecx
jmp 0x43d749
test byte [ebx], 1
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov esi, dword [ebx + 0x12c]
cmp eax, esi
push 1
cmovbe esi, eax
mov eax, 1
mov dword [ebx + 0x1ac], esi
test esi, esi
push 0x1035
push dword [ebx + 0x6c]
cmove esi, eax
mov eax, dword [ebx + 0x70]
push ebx
mov dword [ebp - 0x158], eax
call fcn.00439240
mov ecx, dword [ebx + 0x12c]
sub ecx, dword [ebx + 0x70]
mov edi, dword [ebx + 0x6c]
cmp esi, ecx
mov dword [ebp - 0x18c], eax
mov eax, dword [ebx + 0x70]
cmovle ecx, esi
push edi
push eax
push ebx
mov dword [ebp - 0x160], ecx
lea esi, [eax + ecx]
call fcn.00437e70
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
add eax, dword [ebp - 0x160]
push eax
push ebx
call fcn.00437e70
push esi
push edi
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push ebx
call fcn.00437f40
mov esi, dword [ebp - 0x160]
add esp, 0x3c
test esi, esi
je 0x43be31
mov edi, dword [ebp - 0x158]
lea eax, [ebx + 0x54]
mov dword [ebp - 0x160], eax
mov ebx, eax
push ebx
push edi
push dword [ebp - 0x18c]
call fcn.004380d0
add esp, 0xc
inc edi
sub esi, 1
jne 0x43d855
mov ebx, dword [ebp - 0x180]
push ebx
call fcn.0043a530
jmp 0x43e469
test byte [ebx], 2
je 0x43e083
mov edx, dword [ebx + 0x1084]
test edx, edx
je case.0x43c801.10545
mov ecx, dword [ebx + 0x1ac]
test ecx, ecx
je 0x43d8a6
cmp ecx, 1
jne case.0x43c801.10545
movups xmm0, xmmword [0x478297]
mov eax, 0x5b1b
add cl, 0x32
mov word [ebp - 0x24], ax
mov ax, word [0x4782a7]
push 0
mov word [ebp - 0x11], ax
lea eax, [ebp - 0x24]
push 0x14
push eax
push edx
movups xmmword [ebp - 0x21], xmm0
mov byte [ebp - 0x22], cl
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
test dword [ebx], 0x4000
je 0x43e083
mov eax, dword [ebx + 0x1ac]
mov esi, dword [ebx + 0x12c]
cmp eax, esi
cmovbe esi, eax
mov dword [ebx + 0x1ac], esi
mov edi, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
test esi, esi
jne 0x43d91a
mov esi, 1
mov dword [ebp - 0x160], edx
jmp 0x43d926
mov eax, edx
mov dword [ebp - 0x160], eax
test esi, esi
jle 0x43d951
test edx, edx
jle 0x43d94b
mov ecx, edx
nop dword [eax]
dec ecx
mov dword [ebx + 0x70], ecx
mov edx, ecx
test ecx, ecx
jle 0x43d946
mov eax, dword [ebx + 0xe40]
cmp byte [ecx + eax], 0
je 0x43d930
dec esi
test esi, esi
jg 0x43d926
mov eax, dword [ebp - 0x160]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push eax
push edi
push ebx
call fcn.00437f40
add esp, 0x14
jmp case.0x43c801.10545
test byte [ebx], 2
je 0x43e083
xor edi, edi
cmp dword [ebx + 0x22c], edi
jle case.0x43c801.10545
lea esi, [ebx + 0x1ac]
push 1
push dword [ebx + 0x230]
push dword [esi]
push ebx
call fcn.0043f380
inc edi
lea esi, [esi + 4]
add esp, 0x10
cmp edi, dword [ebx + 0x22c]
jl 0x43d984
jmp case.0x43c801.10545
cmp eax, 0x3d43
ja 0x43dcb5
je 0x43dc82
cmp eax, 0x2270
ja 0x43dbf8
je 0x43dab4
sub eax, 0x169
je case.0x43c9e9.105
sub eax, 3
jne case.0x43c801.10545
test byte [ebx], 2
je 0x43e083
xor edi, edi
cmp dword [ebx + 0x22c], edi
jle case.0x43c801.10545
lea esi, [ebx + 0x1ac]
nop word [eax + eax]
push 0
push dword [ebx + 0x230]
push dword [esi]
push ebx
call fcn.0043f380
inc edi
lea esi, [esi + 4]
add esp, 0x10
cmp edi, dword [ebx + 0x22c]
jl 0x43da00
jmp case.0x43c801.10545
test byte [ebx], 2
je 0x43e083
cmp dword [ebx + 0x22c], 1
jne case.0x43c801.10545
cmp dword [ebx + 0x1ac], 5
jne 0x43da8f
push 0x81
push dword [ebx + 0x1094]
call fcn.00401470
add esp, 8
cmp byte [eax], 0
je 0x43da8f
xor ecx, ecx
mov dword [ebx + 0xec], 1
cmp dword [ebx + 0x230], ecx
push eax
sete cl
mov dword [ebx + 0xf4], 0
push ebx
mov dword [ebx + 0xf0], ecx
call fcn.0043eaf0
add esp, 8
jmp case.0x43c801.10545
cmp dword [ebx + 0x1ac], 4
jne case.0x43c801.10545
cmp dword [ebx + 0xec], 0
je case.0x43c801.10545
push ebx
call fcn.0043e9b0
jmp 0x43e469
mov ecx, dword [ebx + 0x1ac]
cmp ecx, 0x3e
ja case.0x43dac6.1
movzx eax, byte [ecx + 0x43e83c]
jmp dword [eax*4 + 0x43e820]
mov eax, dword [ebx]
and eax, 0xfffffe0f
or eax, 0xf
mov dword [ebx], eax
jmp case.0x43dac6.50
mov eax, dword [ebx]
and eax, 0xfffffe1f
or eax, 0x1f
mov dword [ebx], eax
jmp case.0x43dac6.50
and dword [ebx], 0x1ff
jmp case.0x43dac6.50
mov dword [ebx], 0x1001
jmp case.0x43dac6.50
mov dword [ebx], 0xffff
jmp case.0x43dac6.50
cmp ecx, 0x3c
jbe case.0x43dac6.50
cmp ecx, 0x46
jae case.0x43dac6.50
or dword [ebx], 0x1ff
cmp ecx, 0x32
jne case.0x43c801.10545
mov eax, 1
mov dword [ebx + 0xa40], 0x3f5b1b
lea edi, [ebx + 0xa40]
mov dword [ebp - 0x160], eax
cmp dword [ebx + 0x22c], eax
jle 0x43dbd5
lea ecx, [ebx + 0x1b0]
mov dword [ebp - 0x158], ecx
nop dword [eax]
cmp eax, 1
je 0x43db6f
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x43db56
mov ax, word [0x4782ac]
mov word [edi], ax
lea edi, [ebx + 0xa40]
push dword [ecx]
lea eax, [ebp - 0x44]
push 0x4782b0
push eax
call fcn.004017f0
lea edx, [ebp - 0x44]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x43db87
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x43db91
mov eax, dword [ebp - 0x160]
mov ecx, edx
shr ecx, 2
inc eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [ebp - 0x160], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x158]
lea edi, [ebx + 0xa40]
add ecx, 4
mov dword [ebp - 0x158], ecx
cmp eax, dword [ebx + 0x22c]
jl 0x43db50
lea edi, [ebx + 0xa3f]
nop dword [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x43dbe0
mov ax, word [0x4782b4]
mov word [edi], ax
jmp case.0x43c801.10545
cmp eax, 0x247c
je 0x43dc40
cmp eax, 0x2a7c
jne case.0x43c801.10545
test byte [ebx], 0x40
je 0x43e083
cmp dword [ebx + 0x22c], 1
jne case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
test eax, eax
je case.0x43c801.10545
cmp dword [ebx + 0x114c], 0
jne 0x43d3da
jmp 0x43d3c5
test dword [ebx], 0x100
je 0x43e083
cmp dword [ebx + 0x22c], 1
jg case.0x43c801.10545
cmp dword [ebx + 0x114c], 0
jne 0x43d3da
mov eax, dword [ebx + 0x1ac]
test eax, eax
jne 0x43dc76
mov eax, dword [ebx + 0x1110]
push dword [ebx + 0x128]
push eax
jmp 0x43d3cc
test dword [ebx], 0x1000
je 0x43e083
cmp dword [ebx + 0x22c], 2
jl case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
cmp dword [ebx + 0x1b0], eax
sbb eax, eax
inc eax
mov dword [ebx + 0xb0], eax
jmp case.0x43c801.10545
cmp eax, 0x3d4c
ja 0x43ddfd
je 0x43dddb
sub eax, 0x3d44
cmp eax, 3
ja case.0x43c801.10545
jmp dword [eax*4 + 0x43e87c]
test dword [ebx], 0x1000
je 0x43e083
push ebx
mov dword [ebx + 0xc4], 0
call fcn.0043ec00
add esp, 4
cmp dword [ebx + 0x1ac], 1
jb 0x43dd0f
or dword [ebx + 0x40], 0x200000
jmp case.0x43c801.10545
and dword [ebx + 0x40], 0xffdfffff
jmp case.0x43c801.10545
test dword [ebx], 0x1000
je 0x43e083
cmp dword [ebx + 0x1ac], 1
push ebx
sbb eax, eax
inc eax
mov dword [ebx + 0xc4], eax
call fcn.0043ec00
jmp 0x43e469
test dword [ebx], 0x1000
je 0x43e083
mov edx, dword [ebx + 0x1ac]
cmp edx, 0x10
jae case.0x43c801.10545
mov eax, edx
and edx, 8
and eax, 7
movsx ecx, byte [eax + 0x477fa8]
mov eax, dword [ebx + 0x40]
or ecx, edx
and eax, 0xfffffe00
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x3c]
and eax, 0xfffffe00
or eax, ecx
mov dword [ebx + 0x3c], eax
jmp 0x43e463
test dword [ebx], 0x1000
je 0x43e083
mov edx, dword [ebx + 0x1ac]
cmp edx, 0x10
jae case.0x43c801.10545
mov eax, edx
and edx, 8
and eax, 7
movsx ecx, byte [eax + 0x477fa8]
mov eax, dword [ebx + 0x40]
or ecx, edx
and eax, 0xfffc01ff
shl ecx, 9
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x3c]
and eax, 0xfffc01ff
or eax, ecx
mov dword [ebx + 0x3c], eax
jmp 0x43e463
test dword [ebx], 0x1000
je 0x43e083
xor eax, eax
cmp eax, dword [ebx + 0x1ac]
sbb eax, eax
inc eax
mov dword [ebx + 0xb8], eax
jmp 0x43e463
cmp eax, 0x3d63
je 0x43de40
cmp eax, 0x3e63
jne case.0x43c801.10545
test dword [ebx], 0x4000
je 0x43e083
mov eax, dword [ebx + 0x1084]
test eax, eax
je case.0x43c801.10545
push 0
push 0xb
push str.e__0_136_0c
push eax
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
test dword [ebx], 0x1000
jne 0x43de57
mov dword [ebx + 0xe44], 0
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x1ac]
sub eax, 0
je case.0x43e10d.102
sub eax, 1
je 0x43de89
sub eax, 1
jne case.0x43c801.10545
mov dword [ebx + 0x158], 1
mov dword [ebx + 0xb0], 1
jmp case.0x43c801.10545
mov dword [ebx + 0x158], 0
mov dword [ebx + 0xb0], 1
jmp case.0x43c801.10545
mov dword [ebx + 0xb0], 0
jmp case.0x43c801.10545
lea eax, [edx - 0x30]
mov dword [ebx + 0xa3c], 0
cmp eax, 0x27
ja case.0x43dece.58
movzx eax, byte [eax + 0x43e8a4]
jmp dword [eax*4 + 0x43e88c]
mov dword [ebx + 0xe44], 6
mov dword [ebx + 0x234], 0
jmp case.0x43c801.10545
push dword [ebx + 0x1088]
call fcn.004437c0
push ebx
call fcn.0043b3b0
add esp, 8
mov dword [ebx + 0xe44], 0
jmp case.0x43c801.10545
mov dword [ebx + 0xe44], 4
mov dword [ebx + 0xa3c], 1
jmp case.0x43c801.10545
or eax, 0xffffffff
mov dword [ebx + 0x1ac], eax
jmp case.0x43c801.10545
cmp dword [ebx + 0x1ac], 2
jne case.0x43dece.58
mov dword [ebx + 0x1ac], 1
jmp case.0x43c801.10545
mov dword [ebx + 0xe44], 7
mov dword [ebx + 0x234], 0
jmp case.0x43c801.10545
cmp edx, 0xa
je 0x43e083
cmp edx, 0xd
je 0x43e083
cmp edx, 0x9c
je 0x43c2ea
cmp edx, 7
je 0x43c2ea
cmp edx, 0x1b
jne 0x43dfa4
mov dword [ebx + 0xe44], 8
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x234]
cmp eax, 0x800
jge case.0x43c801.10545
mov byte [eax + ebx + 0x238], dl
inc dword [ebx + 0x234]
jmp case.0x43c801.10545
mov ecx, dword [ebx + 0x234]
lea eax, [edx - 0x30]
cmp eax, 9
jbe 0x43e011
cmp edx, 0x41
jl 0x43dff2
test ecx, ecx
mov eax, 0x46
mov esi, 0x4c
cmove eax, esi
cmp edx, eax
jg 0x43dff2
lea eax, [edx - 0x37]
jmp 0x43e011
cmp edx, 0x61
jl 0x43e083
test ecx, ecx
mov eax, 0x66
mov esi, 0x6c
cmove eax, esi
cmp edx, eax
jg 0x43e083
lea eax, [edx - 0x57]
mov byte [ecx + ebx + 0x238], al
inc dword [ebx + 0x234]
cmp dword [ebx + 0x234], 7
jl case.0x43c801.10545
movsx ecx, byte [ebx + 0x23d]
movsx eax, byte [ebx + 0x23e]
shl ecx, 4
add ecx, eax
movsx eax, byte [ebx + 0x23c]
push ecx
movsx ecx, byte [ebx + 0x23b]
shl ecx, 4
add ecx, eax
movsx eax, byte [ebx + 0x23a]
push ecx
movsx ecx, byte [ebx + 0x239]
shl ecx, 4
add ecx, eax
movsx eax, byte [ebx + 0x238]
push ecx
push eax
push dword [ebx + 0x1088]
call fcn.00443890
push ebx
call fcn.0043b3b0
add esp, 0x18
mov dword [ebx + 0xe44], 0
jmp case.0x43c801.10545
lea eax, [edx - 0x30]
cmp eax, 9
ja case.0x43dece.58
movzx eax, byte [eax + 0x43e8d0]
jmp dword [eax*4 + 0x43e8cc]
mov eax, dword [ebx + 0x1ac]
cmp eax, 0x19999999
ja 0x43df2a
lea ecx, [eax + eax*4]
mov eax, 0xffffffcf
add ecx, ecx
sub eax, edx
cmp ecx, eax
ja 0x43df2a
lea eax, [edx - 0x30]
add eax, ecx
mov dword [ebx + 0x1ac], eax
jmp case.0x43c801.10545
push ebx
mov dword [ebx + 0xe44], 0
call fcn.0043a530
mov eax, dword [ebp - 0x15c]
add esp, 4
add eax, 0xffffffc4
cmp eax, 0x3b
ja case.0x43c801.10545
movzx eax, byte [eax + 0x43e968]
jmp dword [eax*4 + 0x43e8dc]
mov eax, dword [ebx + 0x6c]
push 1
dec eax
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00439800
add esp, 0x10
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x6c]
push 1
inc eax
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00439800
add esp, 0x10
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x70]
push 1
push dword [ebx + 0x6c]
inc eax
push eax
push ebx
call fcn.00439800
add esp, 0x10
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x70]
push 1
push dword [ebx + 0x6c]
dec eax
push eax
push ebx
call fcn.00439800
add esp, 0x10
jmp case.0x43c801.10545
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x170], 0xd900
jmp case.0x43c801.10545
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x170], 0xd800
jmp case.0x43c801.10545
push 0
push 0
push 0
push ebx
call fcn.00439800
add esp, 0x10
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x6c]
test eax, eax
jne 0x43e1e7
mov eax, dword [ebx + 0x128]
push 1
push 0xffffffffffffffff
dec eax
push eax
push 0
push ebx
call fcn.0043a290
add esp, 0x14
mov dword [ebx + 0x8c], 0
jmp case.0x43c801.10545
jle 0x43e1ed
dec eax
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x8c], 0
jmp case.0x43c801.10545
push 1
push 0
push 0
push ebx
call fcn.00438dc0
add esp, 0x10
cmp dword [ebx + 0x1168], 0
je case.0x43c801.10545
mov dword [ebx + 0x10], 0
jmp case.0x43c801.10545
push 1
push 0
push 1
push ebx
call fcn.00438dc0
add esp, 0x10
jmp case.0x43c801.10545
mov dword [ebx + 0xe44], 0xa
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x1084]
test eax, eax
je case.0x43c801.10545
push 0
push 3
push 0x4782b8
push eax
call fcn.00401e40
add esp, 0x10
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x1104]
push ebx
mov dword [ebx + 0x148], 0
mov dword [ebx + 0xc4], eax
call fcn.0043ec00
jmp 0x43e469
push 0
push 0
push 0
push ebx
call fcn.00439800
push 1
push 0
push 0
push ebx
call fcn.00438dc0
add esp, 0x20
cmp dword [ebx + 0x1168], 0
je case.0x43c801.10545
mov dword [ebx + 0x10], 0
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x80]
cmp eax, ecx
jg case.0x43c801.10545
push 0
push 0xffffffffffffffff
push ecx
push eax
push ebx
call fcn.0043a290
add esp, 0x14
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x80]
cmp eax, ecx
jg case.0x43c801.10545
push 1
push 1
push ecx
push eax
push ebx
call fcn.0043a290
add esp, 0x14
jmp case.0x43c801.10545
mov dword [ebx + 0xe44], 0xc
jmp case.0x43c801.10545
mov dword [ebx + 0xe44], 0xd
jmp case.0x43c801.10545
push 0
push 1
jmp 0x43e200
push 1
push 1
push 1
push ebx
call fcn.00438dc0
add esp, 0x10
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x8c], 0
jmp case.0x43c801.10545
push 0
push 1
push 1
push ebx
call fcn.00438dc0
add esp, 0x10
jmp case.0x43c801.10545
or dword [ebx + 0x40], 0x100000
jmp case.0x43c801.10545
and dword [ebx + 0x40], 0xffefffff
jmp case.0x43c801.10545
mov dword [ebx + 0x88], 1
jmp case.0x43c801.10545
mov dword [ebx + 0x88], 0
jmp case.0x43c801.10545
mov dword [ebx + 0xd8], 0
mov dword [ebx + 0x40], 0x20500
jmp 0x43e463
or dword [ebx + 0x40], 0x80000
jmp case.0x43c801.10545
and dword [ebx + 0x40], 0xfff7ffff
jmp case.0x43c801.10545
or dword [ebx + 0x40], 0x40000
mov dword [ebx + 0xd8], 1
jmp case.0x43c801.10545
and dword [ebx + 0x40], 0xfffbffff
mov dword [ebx + 0xd8], 0
jmp case.0x43c801.10545
push 0
lea eax, [edx - 0x20]
mov dword [ebx + 0xe44], 0xb
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00439800
add esp, 0x10
jmp case.0x43c801.10545
push 0
push dword [ebx + 0x6c]
lea eax, [edx - 0x20]
mov dword [ebx + 0xe44], 0
push eax
push ebx
call fcn.00439800
add esp, 0x10
jmp case.0x43c801.10545
mov eax, dword [ebx + 0x40]
and edx, 0xf
and eax, 0xfffbfe00
or eax, edx
mov dword [ebx + 0x40], eax
jmp 0x43e459
mov eax, dword [ebx + 0x40]
and edx, 0xf
shl edx, 9
and eax, 0xffdc01ff
or edx, eax
mov dword [ebx + 0x40], edx
mov dword [ebx + 0xe44], 0
push ebx
call fcn.0043a550
add esp, 4
cmp dword [ebx + 0xe48], 0
lea edi, [ebx + 0x60]
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
je 0x43b4d0
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
cmp ecx, dword [ebx + 0x12c]
jne 0x43e49b
xor ecx, ecx
inc eax
jmp 0x43e49c
inc ecx
push ecx
push eax
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push ebx
call fcn.00437f40
mov esi, dword [ebp - 0x168]
add esp, 0x14
mov eax, dword [ebp - 0x164]
jmp 0x43b4c6
push ebx
call fcn.0043ea80
add esp, 4
cmp dword [ebx + 0x1124], 0
je 0x43e4e3
mov eax, dword [ebx + 0x108c]
test eax, eax
je 0x43e4e3
push eax
call fcn.00402e10
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044c9ef
mov esp, ebp
pop ebp
ret