Function at 0x433fe0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x404
mov eax, dword [0x4baad8]
xor eax, esp
mov dword [esp + 0x400], eax
xor eax, eax
push ebx
push ebp
mov ebp, ecx
mov dword [esp + 0x3e9], eax
mov dword [esp + 0x3ed], eax
mov dword [esp + 0x3f1], eax
mov dword [esp + 0x3f5], eax
mov dword [esp + 0x3f9], eax
mov dword [esp + 0x3fd], eax
mov dword [esp + 0x401], eax
mov word [esp + 0x405], ax
mov byte [esp + 0x407], al
mov eax, dword [ebp + 0x61c]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x5d40]
add eax, dword [ebp + 0x2cd8]
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x20], ebx
mov byte [esp + 0x3f0], bl
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], eax
call dword [0x48b3bc]
mov dword [ebp + 0x7cc], eax
mov ecx, dword [0x4c08f4]
call fcn.0043d240
or edi, 0xffffffff
jmp 0x434090
mov ecx, dword [0x4c087c]
push 0xb
call fcn.00442fd0
test eax, eax
jne 0x4340ac
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x54], eax
je 0x4340ce
mov eax, dword [ebp + 0x61c]
cmp eax, 6
je 0x4340ce
cmp eax, 0x15
je 0x4340ce
cmp eax, 0x59
je 0x4340ce
mov edx, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [edx]
push 1
jmp 0x4340d9
mov eax, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [eax]
push 0
call fcn.00444500
cmp ebx, 0x40
jle 0x4340e8
cmp ebx, 0x42
jge 0x4340f8
mov ecx, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [ecx]
push 0
call fcn.00444500
cmp dword [ebp + 0x5d60], 0
je 0x43411f
mov edx, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [edx]
call fcn.0044a6e0
cmp ebx, 0x58
jne 0x43411f
mov ecx, dword [ebp + 0x61f8]
call fcn.00440ce0
mov ecx, dword [ebp + ebx*4 + 0x5fa0]
call fcn.0040eee0
mov esi, eax
test esi, esi
je 0x43414c
cmp dword [ebp + 0x630], 0
je 0x43414c
cmp ebx, 0x46
jl 0x434144
cmp ebx, 0x60
jl 0x43414c
mov dword [esp + 0x14], 1
cmp ebx, 0x58
jne 0x43419f
mov eax, dword [ebp + 0x6100]
mov ecx, dword [eax]
call fcn.00444f50
test eax, eax
jne 0x434183
test esi, esi
jne 0x434183
fldz
push ecx
mov ecx, dword [ebp + 0x6100]
fstp dword [esp]
mov ecx, dword [ecx]
call fcn.00444470
mov edx, dword [ebp + 0x6100]
mov ecx, dword [edx]
jmp 0x43418b
mov eax, dword [ebp + 0x6100]
mov ecx, dword [eax]
call fcn.00444480
push ecx
mov ecx, dword [ebp + 0x61f8]
fstp dword [esp]
call fcn.00440d60
lea eax, [ebx - 0xa]
cmp eax, 0x29
ja case.0x4341b2.12
movzx ecx, byte [eax + 0x43584c]
jmp dword [ecx*4 + 0x435840]
mov edx, dword [ebp + ebx*4 + 0x5fa8]
mov ecx, dword [edx]
call fcn.00444eb0
test eax, eax
je case.0x4341b2.12
mov ecx, dword [ebp + ebx*4 + 0x5fa8]
mov ecx, dword [ecx]
lea eax, [esp + 0x30]
push eax
call fcn.00444990
mov eax, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [eax]
mov esi, dword [esp + 0xe4]
lea edx, [esp + 0x30]
push edx
call fcn.00444990
push 0xffffffffffffffff
mov dword [esp + 0xe8], esi
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
lea esi, [esp + 0x3f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + ebx*4 + 0x5fa8]
mov ecx, dword [ecx]
call fcn.00447f40
or edi, 0xffffffff
jmp case.0x4341b2.12
mov edx, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [edx]
call fcn.00444200
test eax, eax
je case.0x4341b2.12
mov eax, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.00444480
fcomp dword [0x48b5f8]
fnstsw ax
test ah, 0x44
jp case.0x4341b2.12
mov ecx, dword [ebp + ebx*4 + 0x5fa0]
mov ecx, dword [ecx]
call fcn.00445230
fldz
mov edx, dword [ebp + ebx*4 + 0x5fa0]
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.00444470
inc ebx
cmp ebx, 0x96
jl 0x434090
mov esi, 1
push esi
mov ecx, ebp
call fcn.00421ee0
xor ebx, ebx
mov dword [ebp + 0x5d60], ebx
mov ecx, dword [0x4c08f4]
push 2
call fcn.0043b920
test eax, eax
je 0x43434b
mov ecx, dword [0x4c08ec]
mov eax, dword [ecx + 0x74]
cmp eax, 0x64
jge 0x4342eb
cmp dword [ecx + 0x78], ebx
je 0x4342eb
mov ecx, dword [ecx + 0x3c]
imul ecx, eax
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [0x4c08f4]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ebx
call fcn.0043c4f0
mov eax, dword [ebp + 0x6218]
cmp eax, edi
je 0x434374
push eax
mov ecx, ebp
call fcn.0041e830
mov ecx, dword [ebp + eax*4 + 0x5fa0]
mov ecx, dword [ecx]
call fcn.00444a80
mov edx, dword [ebp + 0x6218]
push edx
mov ecx, ebp
call fcn.0041e830
mov eax, dword [ebp + eax*4 + 0x5fa0]
mov ecx, dword [eax]
mov ecx, dword [ecx]
imul ecx, ecx, 0x1388
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [0x4c08f4]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 2
call fcn.0043b7a0
jmp 0x434374
cmp dword [ebp + 0x61c], 6
mov eax, dword [0x4c08ec]
jne 0x43435e
cmp dword [eax + 0x10], ebx
jne 0x43436e
mov ecx, dword [eax + 0x3c]
push ecx
mov ecx, dword [0x4c08f4]
push ebx
call fcn.0043c4f0
mov dword [ebp + 0x6218], edi
mov ecx, dword [0x4c08dc]
call fcn.00408610
cmp eax, ebx
je 0x434418
mov dword [esp + 0x14], esi
cmp eax, 2
jne 0x4343b1
mov ecx, ebp
mov dword [ebp + 0x618], ebx
call fcn.00423200
push ebx
mov ecx, ebp
call fcn.00425d20
mov dword [ebp + 0x3d08], esi
mov dword [esp + 0x14], ebx
jmp 0x434418
cmp eax, 3
jne 0x434418
mov eax, dword [ebp + 0x3cfc]
cmp eax, ebx
jle 0x434418
dec eax
mov dword [ebp + 0x3cfc], eax
mov eax, dword [ebp + 0x6e4]
cmp eax, ebx
je 0x4343dd
mov ecx, dword [ebp + 0x6208]
push eax
call fcn.0044bf60
mov ecx, dword [0x4c08dc]
push 0xff
push 0xff
push 0xff
call fcn.00407820
mov dword [ebp + 0x6e4], eax
mov ecx, dword [0x4c08dc]
push eax
call fcn.00407810
mov ecx, dword [0x4c08dc]
push 5
push 6
call fcn.00407780
mov eax, dword [ebp + 0x61c]
cmp eax, 6
je 0x434428
cmp eax, 0x15
jne 0x434481
cmp dword [ebp + 0x5d40], ebx
jne 0x434481
mov ecx, dword [ebp + 0x6220]
call fcn.00457fb0
cmp dword [ebp + 0x61c], 0x15
jne 0x434471
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x10], ebx
je 0x434471
mov ecx, dword [ebp + 0x7cc]
mov edx, ecx
sub edx, dword [ebp + 0x7d0]
cmp edx, 0x7d0
jle 0x434471
mov dword [ebp + 0x7d0], ecx
mov dword [ebp + 0x61c], ebx
cmp dword [ebp + 0x630], ebx
je 0x434481
cmp eax, ebx
je 0x434481
mov dword [esp + 0x14], esi
mov ecx, ebp
call fcn.00433c30
test eax, eax
jne 0x435827
cmp dword [ebp + 0x3d00], ebx
je 0x4346d0
cmp dword [esp + 0x14], ebx
jne 0x4346d0
mov eax, dword [0x4c08ec]
mov byte [eax + 0x55b8], 0
mov ecx, dword [0x4c08ec]
mov byte [ecx + 0x40cb0], 0
mov edx, dword [0x4c08ec]
push 0x80
add edx, 0x55e0
push 0
push edx
call fcn.0045ab70
push 0x800
lea edi, [ebp + 0x2ce4]
push 0
push edi
call fcn.0045ab70
push 0x800
lea eax, [ebp + 0x34e4]
push 0
push eax
call fcn.0045ab70
mov ecx, dword [ebp + 0x2880]
add esp, 0x24
test ecx, ecx
je 0x434517
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov ecx, dword [ebp + 0x2884]
test ecx, ecx
je 0x43452d
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov ecx, ebp
call fcn.00423200
lea esi, [ebp + 0x5fc8]
mov ebx, 0x36
nop
mov eax, dword [esi]
mov ecx, dword [eax]
call fcn.00445c30
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0
call fcn.00445250
add esi, 4
sub ebx, 1
jne 0x434540
mov edx, dword [0x4c08ec]
xor esi, esi
push esi
add edx, 0x4b88
push edx
mov ecx, ebp
call fcn.004260e0
mov eax, dword [0x4c08ec]
push 0x19d48
add eax, 0x41e1c
push esi
push eax
call fcn.0045ab70
add esp, 0xc
push esi
mov ebx, 1
push ebx
mov ecx, ebp
call fcn.00428640
mov dword [ebp + 0x2cd8], ebx
mov ecx, dword [0x4c08ec]
lea edx, [ecx + 0x4b88]
push edx
call fcn.0040cbc0
mov ecx, dword [ebp + 0x2868]
push eax
call fcn.00402b40
mov ecx, dword [ebp + 0x2868]
cmp dword [ecx], eax
jle 0x434657
push 2
mov ecx, ebp
call fcn.004224c0
push 2
mov ecx, ebp
call fcn.004320b0
mov ecx, dword [ebp + 0x2880]
cmp ecx, esi
je 0x4345f4
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov ecx, dword [ebp + 0x2884]
cmp ecx, esi
je 0x43460a
call fcn.00414740
mov ecx, eax
call fcn.00440880
push 0x800
push esi
push edi
call fcn.0045ab70
push 0x800
lea eax, [ebp + 0x34e4]
push esi
push eax
call fcn.0045ab70
mov edx, dword [0x4c08ec]
mov byte [edx + 0x40cb0], 0
mov eax, dword [0x4c08ec]
push 0x19d48
add eax, 0x41e1c
push esi
push eax
call fcn.0045ab70
add esp, 0x24
push ebx
push esi
mov ecx, ebp
call fcn.00428640
mov eax, dword [0x4c08ec]
add eax, 0x55b8
cmp byte [eax], 0
je 0x43467c
cmp dword [ebp + 0x6210], esi
jne 0x43467c
mov ecx, dword [0x4c08f4]
push ebx
push esi
push eax
call fcn.0043d070
mov ecx, dword [ebp + 0x2880]
mov dword [ebp + 0x2cd8], esi
mov dword [ebp + 0x3d00], esi
mov dword [ebp + 0x3d08], esi
mov dword [ebp + 0x618], ebx
cmp ecx, esi
je 0x435827
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 4]
push eax
call fcn.00414740
mov ecx, eax
call fcn.0043d450
mov ecx, dword [ebp + 0x2880]
push esi
call fcn.00414740
mov ecx, eax
call fcn.00441270
jmp 0x435827
cmp dword [ebp + 0x630], ebx
jne 0x4346e0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + 0x61c]
add eax, 0xfffffffa
cmp eax, 0x83
ja case.0x4346fb.9
movzx ecx, byte [eax + 0x4358a4]
jmp dword [ecx*4 + 0x435878]
mov dword [ebp + 0x61c], ebx
jmp case.0x4346fb.9
mov ecx, dword [0x4c08e8]
push ebx
call fcn.00414d50
cmp eax, edi
jne 0x434747
mov ecx, dword [0x4c087c]
call fcn.00442fb0
test eax, eax
je case.0x4346fb.9
mov dword [ebp + 0x3ce4], ebx
mov dword [ebp + 0x3ce8], edi
mov dword [ebp + 0x3d08], esi
jmp case.0x4346fb.9
cmp eax, esi
jne 0x434730
mov eax, dword [0x4c08ec]
xor edx, edx
cmp dword [eax + 0x4534], ebx
sete dl
mov dword [eax + 0x4534], edx
jmp case.0x4346fb.9
mov ecx, dword [0x4c08e4]
push ebx
call fcn.00414d50
cmp eax, edi
je 0x4349b8
mov ecx, dword [ebp + 0x3ce8]
cmp ecx, edi
je 0x4348b8
cmp eax, ebx
jne 0x434799
push ecx
mov ecx, ebp
call fcn.00432f20
jmp 0x4349ac
cmp eax, 2
jne 0x43487c
mov eax, dword [0x4c08ec]
xor edx, edx
cmp dword [eax + ecx*4 + 0x44e8], ebx
sete dl
mov dword [eax + ecx*4 + 0x44e8], edx
cmp dword [ebp + 0x3ce8], 2
jne 0x4347d9
mov eax, dword [0x4c08ec]
xor ecx, ecx
cmp dword [eax + 0x44f4], ebx
sete cl
mov dword [eax + 0x44f4], ecx
cmp dword [ebp + 0x3ce8], 3
jne 0x4347f8
mov eax, dword [0x4c08ec]
xor edx, edx
cmp dword [eax + 0x44f0], ebx
sete dl
mov dword [eax + 0x44f0], edx
cmp dword [ebp + 0x3ce8], 9
jne 0x434817
mov eax, dword [0x4c08ec]
xor ecx, ecx
cmp dword [eax + 0x4510], ebx
sete cl
mov dword [eax + 0x4510], ecx
cmp dword [ebp + 0x3ce8], 0xa
jne 0x434836
mov eax, dword [0x4c08ec]
xor edx, edx
cmp dword [eax + 0x450c], ebx
sete dl
mov dword [eax + 0x450c], edx
cmp dword [ebp + 0x3ce8], esi
jne 0x434854
mov eax, dword [0x4c08ec]
xor ecx, ecx
cmp dword [eax + 0x4514], ebx
sete cl
mov dword [eax + 0x4514], ecx
cmp dword [ebp + 0x3ce8], 0xb
jne 0x435827
mov eax, dword [0x4c08ec]
xor edx, edx
cmp dword [eax + 0x44ec], ebx
sete dl
mov dword [eax + 0x44ec], edx
jmp 0x435827
cmp ecx, 2
je 0x434886
cmp ecx, 3
jne 0x434895
mov eax, dword [ebp + 0x5d68]
mov ecx, dword [0x4c0874]
mov dword [ecx + 0x18], eax
cmp dword [ebp + 0x3ce8], 0xb
jne 0x4348a9
mov ecx, dword [ebp + 0x2868]
call fcn.00402bb0
mov dword [ebp + 0x61c], 6
jmp 0x4349ac
cmp eax, ebx
jne 0x4348c8
lea edx, [ebp + 0x2958]
push edx
jmp 0x43499f
cmp eax, 2
jne 0x434998
mov eax, dword [ebp + 0x3cf4]
mov ecx, dword [0x4c08ec]
xor edx, edx
cmp dword [ecx + eax*4 + 0x44e8], ebx
lea eax, [ecx + eax*4 + 0x44e8]
sete dl
mov dword [eax], edx
cmp dword [ebp + 0x3cf4], 2
jne 0x434911
mov eax, dword [0x4c08ec]
xor ecx, ecx
cmp dword [eax + 0x44f4], ebx
sete cl
mov dword [eax + 0x44f4], ecx
cmp dword [ebp + 0x3cf4], 3
jne 0x434930
mov eax, dword [0x4c08ec]
xor edx, edx
cmp dword [eax + 0x44f0], ebx
sete dl
mov dword [eax + 0x44f0], edx
cmp dword [ebp + 0x3cf4], 9
jne 0x43494f
mov eax, dword [0x4c08ec]
xor ecx, ecx
cmp dword [eax + 0x4510], ebx
sete cl
mov dword [eax + 0x4510], ecx
cmp dword [ebp + 0x3cf4], 0xa
jne 0x43496e
mov eax, dword [0x4c08ec]
xor edx, edx
cmp dword [eax + 0x450c], ebx
sete dl
mov dword [eax + 0x450c], edx
cmp dword [ebp + 0x3cf4], esi
jne 0x43498c
mov eax, dword [0x4c08ec]
xor ecx, ecx
cmp dword [eax + 0x4514], ebx
sete cl
mov dword [eax + 0x4514], ecx
cmp dword [ebp + 0x3cf4], 0xb
jmp 0x43485b
lea eax, [ebp + 0x2998]
push eax
mov ecx, ebp
call fcn.0041fc90
mov dword [ebp + 0x3d08], esi
mov dword [ebp + 0x3ce4], ebx
mov dword [ebp + 0x3ce8], edi
mov ecx, dword [0x4c087c]
call fcn.00442fb0
test eax, eax
je case.0x4346fb.9
mov eax, dword [ebp + 0x3ce8]
cmp eax, 2
je 0x4349db
cmp eax, 3
jne 0x4349ea
mov ecx, dword [ebp + 0x5d68]
mov edx, dword [0x4c0874]
mov dword [edx + 0x18], ecx
cmp dword [ebp + 0x3ce8], 0xb
jne 0x4349fe
mov ecx, dword [ebp + 0x2868]
call fcn.00402bb0
cmp dword [ebp + 0x3ce8], edi
je 0x434a21
mov dword [ebp + 0x61c], 6
mov dword [ebp + 0x3ce4], ebx
mov dword [ebp + 0x3ce8], edi
jmp case.0x4346fb.9
lea eax, [ebp + 0x2998]
push eax
mov ecx, ebp
call fcn.0041fc90
mov dword [ebp + 0x3d08], esi
mov dword [ebp + 0x3ce4], ebx
mov dword [ebp + 0x3ce8], edi
jmp case.0x4346fb.9
mov eax, dword [ebp + 0x628]
cmp eax, ebx
jle case.0x4346fb.9
xor esi, esi
mov dword [esp + 0x1c], esi
test al, 1
je 0x434a77
mov ecx, dword [0x4c08f4]
push ebx
call fcn.0043b920
test eax, eax
je 0x434a77
mov esi, 1
mov dword [esp + 0x1c], esi
test byte [ebp + 0x628], 2
je 0x434a9a
mov ecx, dword [0x4c08f4]
push 8
call fcn.0043af70
test eax, eax
je 0x434a9a
mov esi, 1
mov dword [esp + 0x1c], esi
test byte [ebp + 0x628], 4
je 0x434ad5
mov ecx, dword [0x4c08f4]
call fcn.0043b970
test eax, eax
je 0x434ad5
mov ecx, ebp
call fcn.00421e40
test eax, eax
je 0x434acc
mov ecx, dword [0x4c08f4]
push 1
call fcn.0043ce50
jmp 0x434ad5
mov esi, 1
mov dword [esp + 0x1c], esi
test byte [ebp + 0x628], 0x20
je 0x434b10
mov ecx, dword [0x4c08f4]
push ebx
call fcn.0043b920
test eax, eax
jne 0x434af7
mov esi, 1
mov dword [esp + 0x1c], esi
call dword [0x48b3bc]
sub eax, dword [ebp + 0x6224]
cmp eax, 0x3e8
jbe 0x434b10
mov dword [esp + 0x1c], ebx
jmp 0x434b18
cmp esi, ebx
jne case.0x4346fb.9
mov dword [ebp + 0x3d08], 1
mov dword [ebp + 0x628], ebx
jmp case.0x4346fb.9
cmp dword [ebp + 0x62c], ebx
je 0x434b65
mov ecx, dword [ebp + 0x286c]
push ebx
call fcn.00414d50
mov ecx, dword [ebp + 0x286c]
call fcn.00412b90
test eax, eax
jne case.0x4346fb.9
mov dword [ebp + 0x3d08], esi
mov dword [ebp + 0x62c], ebx
jmp case.0x4346fb.9
mov eax, dword [ebp + 0x7d8]
cmp eax, ebx
jl 0x434b89
mov ecx, dword [ebp + 0x7cc]
sub ecx, dword [ebp + 0x7dc]
cmp ecx, eax
jle 0x434b89
cmp eax, ebx
je 0x434b89
mov dword [ebp + 0x7d8], ebx
cmp dword [ebp + 0x7e0], ebx
je 0x434ba6
mov ecx, dword [0x4c087c]
call fcn.00442f80
test eax, eax
je 0x434ba6
mov dword [ebp + 0x7d8], ebx
mov ecx, dword [0x4c08ec]
push 0x63
push 9
call fcn.0040ccd0
test eax, eax
jne 0x434bca
mov ecx, ebp
call fcn.00421e40
test eax, eax
je 0x434bca
mov dword [ebp + 0x7d8], ebx
cmp dword [ebp + 0x7d8], ebx
jne case.0x4346fb.9
mov dword [ebp + 0x7e0], ebx
mov dword [ebp + 0x3d08], esi
jmp case.0x4346fb.9
mov ecx, dword [ebp + 0x2880]
cmp ecx, ebx
je 0x434c35
call fcn.00414740
mov ecx, eax
call fcn.00441b30
test eax, eax
je 0x434c35
cmp dword [ebp + 0x3d08], ebx
je 0x434c0f
mov dword [ebp + 0x3d08], ebx
mov ecx, ebp
call fcn.00422de0
test eax, eax
je 0x434c3b
mov ecx, dword [ebp + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.004413d0
mov ecx, ebp
call fcn.00432d10
jmp 0x434c3b
mov dword [ebp + 0x3d08], esi
cmp dword [ebp + 0x3d08], ebx
je case.0x4346fb.9
push esi
mov ecx, ebp
call fcn.004320b0
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x5c], ebx
je 0x434c63
push 2
mov ecx, ebp
call fcn.004224c0
mov ecx, dword [ebp + 0x2880]
cmp ecx, ebx
je 0x434c79
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov ecx, dword [ebp + 0x2884]
cmp ecx, ebx
je 0x434c8f
call fcn.00414740
mov ecx, eax
call fcn.00440880
push 0x800
lea eax, [ebp + 0x2ce4]
push ebx
push eax
call fcn.0045ab70
push 0x800
lea ecx, [ebp + 0x34e4]
push ebx
push ecx
call fcn.0045ab70
mov edx, dword [0x4c08ec]
mov byte [edx + 0x40cb0], 0
mov edx, dword [0x4c08ec]
add esp, 0x18
mov ecx, 0x55e0
mov eax, 0x5660
cmp dword [eax + edx], ebx
jne 0x434ce8
cmp byte [ecx + edx], 0
je 0x434ce8
mov byte [ecx + edx], 0
mov edx, dword [0x4c08ec]
add eax, 4
add ecx, 0x20
cmp eax, 0x5670
jl 0x434cd3
jmp case.0x4346fb.9
mov ecx, dword [ebp + 0x287c]
call fcn.00436fe0
cmp eax, ebx
mov dword [esp + 0x28], eax
jl 0x434d31
mov eax, dword [ebp + 0x287c]
cmp byte [eax], 0
je 0x434d31
push eax
mov ecx, ebp
call fcn.0041fc90
mov dword [ebp + 0x3d08], esi
mov eax, dword [0x4c08ec]
mov dword [eax + 0x109b2c], ebx
mov ecx, dword [ebp + 0x2874]
push ebx
call fcn.00414d50
mov ecx, dword [ebp + 0x2870]
push ebx
call fcn.00414d50
mov ecx, dword [ebp + 0x286c]
push ebx
call fcn.00414d50
cmp eax, edi
je case.0x4346fb.9
cmp eax, 0x64
jne 0x434e25
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x286c]
lea edx, [esp + 0x14]
push edx
call fcn.00412dd0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x286c]
push 1
push 0x3c
push eax
lea esi, [edx + 0x500]
push esi
push eax
mov eax, dword [ecx + 0xd0]
add eax, edx
push eax
call fcn.00412e00
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x2874]
lea edx, [esp + 0x14]
push edx
call fcn.00412dd0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x2874]
push 1
push 0x3c
push eax
lea esi, [edx + 0x500]
push esi
push eax
mov eax, dword [ecx + 0xd0]
add eax, edx
push eax
call fcn.00412e00
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x2870]
lea edx, [esp + 0x14]
push edx
call fcn.00412dd0
mov edx, dword [esp + 0x10]
push 1
lea esi, [edx + 0x500]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x2870]
push 0x3c
push eax
push esi
push eax
mov eax, dword [ecx + 0xd0]
add eax, edx
push eax
call fcn.00412e00
jmp case.0x4346fb.9
cmp eax, 0xffffff9c
jne 0x434ed0
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x286c]
lea edx, [esp + 0x14]
push edx
call fcn.00412dd0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x286c]
push 2
push 0x3c
push eax
lea esi, [edx - 0x500]
push esi
push eax
mov eax, dword [ecx + 0xd0]
add eax, edx
push eax
call fcn.00412e00
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x2874]
lea edx, [esp + 0x14]
push edx
call fcn.00412dd0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x2874]
push 2
push 0x3c
push eax
lea esi, [edx - 0x500]
push esi
push eax
mov eax, dword [ecx + 0xd0]
add eax, edx
push eax
call fcn.00412e00
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x2870]
lea edx, [esp + 0x14]
push edx
call fcn.00412dd0
mov edx, dword [esp + 0x10]
push 2
lea esi, [edx - 0x500]
jmp 0x434e03
mov eax, dword [ebp + 0x286c]
cmp byte [eax], 0
je 0x434efa
push eax
mov ecx, ebp
call fcn.0041fc90
mov dword [ebp + 0x3d08], esi
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x109b2c], ebx
jmp case.0x4346fb.9
mov cl, byte [ebp + 0x2918]
lea eax, [ebp + 0x2918]
test cl, cl
je case.0x4346fb.9
cmp cl, 0x2d
je case.0x4346fb.9
push eax
mov ecx, ebp
call fcn.0041fc90
mov dword [esp + 0x20], esi
jmp case.0x4346fb.9
mov ecx, dword [ebp + 0x2884]
call fcn.00414740
mov ecx, eax
call fcn.00441b30
mov ecx, dword [ebp + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.00441b30
test eax, eax
jne 0x434f72
call dword [0x48b3bc]
sub eax, dword [ebp + 0x5d70]
cmp eax, 0x3e8
jbe case.0x4346fb.9
mov dword [ebp + 0x3d08], esi
jmp case.0x4346fb.9
call dword [0x48b3bc]
mov dword [ebp + 0x5d70], eax
jmp case.0x4346fb.9
cmp dword [ebp + 0x5d40], ebx
jne 0x43520a
push ebx
mov ecx, ebp
call fcn.004320b0
mov ecx, dword [ebp + 0x61f8]
call fcn.00441b30
mov ecx, dword [0x4c08ec]
push 0xea
push 0x63
call fcn.0040ccd0
test eax, eax
jne 0x4351bb
xor edi, edi
lea esi, [ebp + 0x2880]
cmp edi, 0xa
ja case.0x434fd4.3
movzx edx, byte [edi + 0x435930]
jmp dword [edx*4 + 0x435928]
mov eax, dword [0x4c08ec]
mov eax, dword [eax + 0x88]
test eax, eax
jne 0x434ff7
cmp edi, 0xa
je case.0x434fd4.3
test eax, eax
je 0x435000
cmp edi, 9
je case.0x434fd4.3
mov ecx, dword [esi]
test ecx, ecx
je case.0x434fd4.3
push 1
call fcn.00412f00
mov ecx, dword [esi]
push 0
call fcn.00414d50
mov ecx, dword [esi]
push 0
call fcn.00412f00
mov ebx, dword [esi]
cmp dword [ebx + 0x2c], 0
je 0x43510b
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x40f4c], 0
mov ecx, dword [ebp + 0x28a4]
call fcn.00419f30
mov ecx, dword [ebp + 0x28a8]
call fcn.00419f30
cmp dword [ebp + 0x5d44], 0
je 0x435086
mov edx, dword [ebp + 0x28cc]
mov ecx, dword [ebp + 0x28a4]
push 0
push edx
call fcn.00418f20
mov eax, dword [ebp + 0x28cc]
mov ecx, dword [ebp + 0x28a8]
push 0
push eax
call fcn.00418f20
mov ecx, dword [esi]
push ecx
mov ecx, dword [ebp + 0x2868]
call fcn.004022e0
mov edx, dword [esi]
push edx
mov ecx, ebp
call fcn.0041fc90
mov eax, dword [esi]
mov byte [eax], 0
mov ecx, ebp
mov dword [ebp + 0x3d08], 1
call fcn.00421970
mov ecx, dword [ebp + 0x2880]
test ecx, ecx
je 0x4350ca
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov ecx, dword [ebp + 0x2884]
test ecx, ecx
je 0x4350e0
call fcn.00414740
mov ecx, eax
call fcn.00440880
push 0x800
lea ecx, [ebp + 0x2ce4]
push 0
push ecx
call fcn.0045ab70
push 0x800
lea edx, [ebp + 0x34e4]
push 0
push edx
call fcn.0045ab70
add esp, 0x18
jmp case.0x434fd4.3
cmp byte [ebx], 0
je case.0x434fd4.3
lea edx, [esp + 0x3f0]
mov eax, ebx
sub edx, ebx
jmp 0x435120
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x435120
mov byte [ebx], cl
inc edi
add esi, 4
cmp edi, 0x16
jl 0x434fc4
mov ecx, dword [ebp + 0x2884]
test ecx, ecx
je 0x43514f
call fcn.00414740
mov ecx, eax
call fcn.00441b30
mov ecx, dword [ebp + 0x2880]
test ecx, ecx
je 0x435205
call fcn.00414740
mov ecx, eax
call fcn.00441b30
test eax, eax
je 0x435205
cmp dword [ebp + 0x3d08], 0
je 0x435184
mov dword [ebp + 0x3d08], 0
mov ecx, ebp
call fcn.00422de0
test eax, eax
jne 0x435198
cmp byte [esp + 0x3f0], al
je 0x4351b1
mov ecx, dword [ebp + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.004413d0
mov ecx, ebp
call fcn.00432d10
mov dword [esp + 0x14], 1
jmp 0x435205
xor ebx, ebx
lea edi, [ebp + 0x2880]
cmp ebx, 3
jl 0x4351fc
cmp ebx, 6
jg 0x4351fc
mov ecx, dword [edi]
test ecx, ecx
je 0x4351fc
push 0
call fcn.00414d50
mov esi, dword [edi]
cmp byte [esi], 0
je 0x4351fc
lea edx, [esp + 0x3f0]
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4351f0
mov byte [esi], cl
inc ebx
add edi, 4
cmp ebx, 0x16
jl 0x4351c3
xor ebx, ebx
lea esi, [ebx + 1]
cmp byte [esp + 0x3f0], 0
je 0x43523c
lea eax, [esp + 0x3f0]
push eax
mov ecx, ebp
call fcn.00433440
cmp dword [ebp + 0x3d08], ebx
je case.0x4346fb.9
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
jmp case.0x4346fb.9
mov ecx, dword [ebp + 0x2868]
call fcn.00406150
mov dword [ebp + 0x5d40], eax
cmp eax, ebx
je 0x435290
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x10], ebx
je 0x43525e
mov dword [eax + 0x10], ebx
mov ecx, ebp
call fcn.00421e20
cmp dword [ebp + 0x5d40], esi
je 0x435274
push 2
call fcn.004224c0
cmp dword [ebp + 0x5d40], 2
jne case.0x4346fb.9
push ebx
push esi
push esi
mov ecx, ebp
call fcn.00433070
jmp case.0x4346fb.9
mov ecx, ebp
call fcn.00422de0
test eax, eax
je 0x43537a
cmp dword [esp + 0x14], ebx
jne case.0x4346fb.9
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x40f38], ebx
jne 0x435384
push esi
mov ecx, ebp
call fcn.004320b0
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x5c], ebx
je 0x4352d7
push 2
mov ecx, ebp
call fcn.004224c0
push 0x1f
mov ecx, ebp
call fcn.0041f340
mov ecx, dword [ebp + 0x2880]
cmp ecx, ebx
je 0x4352f6
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov ecx, dword [ebp + 0x2884]
cmp ecx, ebx
je 0x43530c
call fcn.00414740
mov ecx, eax
call fcn.00440880
push 0x800
lea eax, [ebp + 0x2ce4]
push ebx
push eax
call fcn.0045ab70
push 0x800
lea ecx, [ebp + 0x34e4]
push ebx
push ecx
call fcn.0045ab70
mov edx, dword [0x4c08ec]
mov byte [edx + 0x40cb0], 0
mov edx, dword [0x4c08ec]
add esp, 0x18
mov ecx, 0x55e0
mov eax, 0x5660
cmp dword [eax + edx], ebx
jne 0x435365
cmp byte [ecx + edx], 0
je 0x435365
mov byte [ecx + edx], 0
mov edx, dword [0x4c08ec]
add eax, 4
add ecx, 0x20
cmp eax, 0x5670
jl 0x435350
mov dword [ebp + 0x3d08], esi
jmp 0x435384
cmp dword [esp + 0x14], ebx
jne case.0x4346fb.9
mov ecx, dword [0x4c087c]
push 0xf
call fcn.00442b00
test eax, eax
jne 0x4353af
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x68], 2
jne case.0x4346fb.9
mov ecx, dword [0x4c087c]
call fcn.00442fb0
test eax, eax
je case.0x4346fb.9
mov ecx, dword [0x4c087c]
push 0x1f4
call fcn.00442e90
mov ecx, dword [0x4c08f4]
push ebx
push esi
push str.se201
call fcn.0043d070
push 3
mov ecx, ebp
call fcn.00433120
mov ecx, dword [0x4c087c]
call fcn.00442d20
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x10], ebx
je case.0x4346fb.9
mov edx, dword [ebp + 0x7d0]
sub edx, dword [ebp + 0x7cc]
add dword [ebp + 0x7d4], edx
mov al, byte [ebp + 0x28d8]
lea esi, [ebp + 0x28d8]
test al, al
je 0x435432
cmp al, 0x2d
je 0x435432
mov ecx, dword [0x4c087c]
call fcn.00442f80
test eax, eax
je 0x435432
push esi
mov ecx, ebp
call fcn.0041fc90
jmp 0x435639
mov al, byte [ebp + 0x2918]
lea esi, [ebp + 0x2918]
test al, al
je 0x435462
cmp al, 0x2d
je 0x435462
mov ecx, dword [0x4c087c]
call fcn.00442fb0
test eax, eax
je 0x435462
push esi
mov ecx, ebp
call fcn.0041fc90
jmp 0x435639
mov al, byte [ebp + 0x29d8]
lea esi, [ebp + 0x29d8]
test al, al
je 0x435494
cmp al, 0x2d
je 0x435494
mov ecx, dword [0x4c087c]
push 5
call fcn.00442b00
test eax, eax
je 0x435494
push esi
mov ecx, ebp
call fcn.0041fc90
jmp 0x435639
mov al, byte [ebp + 0x2a18]
lea esi, [ebp + 0x2a18]
test al, al
je 0x4354c6
cmp al, 0x2d
je 0x4354c6
mov ecx, dword [0x4c087c]
push 6
call fcn.00442b00
test eax, eax
je 0x4354c6
push esi
mov ecx, ebp
call fcn.0041fc90
jmp 0x435639
mov al, byte [ebp + 0x2a58]
lea esi, [ebp + 0x2a58]
test al, al
je 0x4354f8
cmp al, 0x2d
je 0x4354f8
mov ecx, dword [0x4c087c]
push 3
call fcn.00442b00
test eax, eax
je 0x4354f8
push esi
mov ecx, ebp
call fcn.0041fc90
jmp 0x435639
mov al, byte [ebp + 0x2a98]
lea esi, [ebp + 0x2a98]
test al, al
je 0x43552a
cmp al, 0x2d
je 0x43552a
mov ecx, dword [0x4c087c]
push 4
call fcn.00442b00
test eax, eax
je 0x43552a
push esi
mov ecx, ebp
call fcn.0041fc90
jmp 0x435639
cmp byte [ebp + 0x2c18], 0
lea eax, [ebp + 0x2c18]
je 0x43554d
cmp dword [esp + 0x28], 0xfffffffe
jne 0x43554d
push eax
mov ecx, ebp
call fcn.0041fc90
jmp 0x435639
cmp byte [ebp + 0x2c98], 0
lea esi, [ebp + 0x2c98]
je 0x4355a9
mov ecx, dword [0x4c08f4]
push 0
call fcn.0043b920
test eax, eax
jne 0x435631
mov edi, dword [0x48b3bc]
call edi
sub eax, dword [ebp + 0x5d3c]
cmp eax, 0x1f4
jbe 0x435631
call edi
push esi
mov ecx, ebp
mov dword [ebp + 0x5d3c], eax
call fcn.0041fc90
mov dword [ebp + 0x3d08], 1
jmp 0x435631
mov al, byte [ebp + 0x2ad8]
lea ecx, [ebp + 0x2ad8]
test al, al
je 0x4355ef
cmp al, 0x2d
je 0x4355ef
mov eax, dword [0x4c0874]
mov edx, dword [eax + 8]
cmp edx, dword [ebp + 0x5d5c]
je 0x4355ef
push ecx
mov ecx, ebp
call fcn.0041fc90
mov dword [ebp + 0x3d08], 1
mov eax, dword [0x4c0874]
mov ecx, dword [eax + 8]
mov dword [ebp + 0x5d5c], ecx
jmp 0x435631
mov al, byte [ebp + 0x2c58]
lea esi, [ebp + 0x2c58]
test al, al
je 0x435631
cmp al, 0x2d
je 0x435631
mov ecx, dword [0x4c087c]
call fcn.00442eb0
test eax, eax
je 0x435631
push esi
mov ecx, ebp
call fcn.0041fc90
mov dword [ebp + 0x3d08], 1
mov ecx, dword [0x4c087c]
push 0
call fcn.00442ee0
xor edi, edi
cmp dword [esp + 0x20], edi
je 0x43564d
xor edi, edi
mov dword [ebp + 0x3d08], edi
mov dword [ebp + 0x61c], edi
mov dword [ebp + 0x630], edi
mov ecx, ebp
call fcn.00425440
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 0x109b60]
cmp eax, edi
je 0x435691
dec eax
cmp eax, 3
ja case.default.0x43566a
jmp dword [eax*4 + 0x43593c]
push 1
jmp 0x43567f
push 3
jmp 0x43567f
push 7
jmp 0x43567f
push 8
mov ecx, ebp
call fcn.00433120
mov eax, dword [0x4c08ec]
mov dword [eax + 0x109b60], edi
cmp dword [ebp + 0x3d08], edi
je 0x4356b7
cmp dword [esp + 0x1c], edi
jne 0x4356b7
cmp dword [esp + 0x14], edi
jne 0x4356b7
mov dword [ebp + 0x3d08], edi
mov dword [ebp + 0x61c], edi
mov dword [ebp + 0x630], edi
cmp dword [ebp + 0x61c], edi
jne 0x4357a1
mov ecx, dword [0x4c08ec]
push 0x19d48
add ecx, 0x41e1c
push edi
push ecx
call fcn.0045ab70
add esp, 0xc
push edi
push edi
mov ecx, ebp
call fcn.00428640
mov dword [ebp + 0x618], 1
call dword [0x48b3bc]
mov dword [ebp + 0x7d0], eax
mov eax, dword [ebp + 0x61c]
cmp eax, 6
je 0x43570d
cmp eax, 8
jne 0x435744
cmp dword [ebp + 0x3d0c], edi
jne 0x435744
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 0x2880]
push eax
call fcn.00414740
mov ecx, eax
call fcn.0043d450
mov ecx, dword [ebp + 0x2880]
push edi
call fcn.00414740
mov ecx, eax
call fcn.00441270
mov ecx, dword [ebp + 0x2880]
cmp ecx, edi
je 0x43579b
call fcn.00414740
mov ecx, eax
call fcn.0043d4a0
mov ecx, dword [0x4c08ec]
push 0x1d
push 0x63
mov esi, eax
call fcn.0040ccd0
mov ecx, 0x17
sub ecx, eax
imul esi, ecx
lea edx, [esi + esi*4]
mov dword [ebp + 0x7d4], edx
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x14], 2
jne 0x43579b
mov eax, dword [eax + 0xa8]
imul eax, eax, 0x3e8
mov dword [ebp + 0x7d4], eax
mov dword [ebp + 0x3d0c], edi
mov eax, 6
cmp dword [esp + 0x2c], eax
jne 0x435827
cmp dword [ebp + 0x61c], eax
jne 0x4357ce
cmp dword [ebp + 0x2cd8], edi
jne 0x4357c8
cmp dword [ebp + 0x5d40], edi
je 0x435827
cmp dword [esp + 0x24], edi
jne 0x435827
mov ecx, dword [0x4c087c]
call fcn.00442d80
mov ecx, dword [0x4c087c]
push edi
mov esi, eax
call fcn.00442d70
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x88], edi
jne 0x435801
mov ecx, dword [ebp + 0x28a4]
push edi
call fcn.00414d50
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x88], edi
je 0x43581b
mov ecx, dword [ebp + 0x28a8]
push edi
call fcn.00414d50
mov ecx, dword [0x4c087c]
push esi
call fcn.00442d70
mov ecx, dword [esp + 0x410]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045ab2a
add esp, 0x404
ret