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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
push ebx
mov ebx, ecx
mov dword [ebp - 0xa4], edx
mov cl, byte [0x5f9e0a]
mov al, cl
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0xc], al
mov byte [ebp - 0x12], al
mov byte [ebp - 0x11], al
mov ax, word [0x5f9e04]
mov byte [ebp - 0x20], 0
mov byte [ebp - 0x51], 1
mov byte [ebp - 0x39], 0
mov dword [ebp - 0x9c], 0
push esi
push edi
test ax, ax
jle case.0x43e0e6.67
cmp byte [0x5f9e06], 7
jne case.0x43e0e6.70
cwde
add eax, 0xffffffbd
cmp eax, 0x3e
ja case.0x43e0e6.70
movzx eax, byte [eax + 0x441220]
jmp dword [eax*4 + 0x441218]
movsx eax, word [0x5f9e04]
cmp eax, 0x23
je 0x43e0fe
cmp eax, 0x51
jne 0x43e102
mov byte [ebp - 0x20], 1
cmp byte [ebx + 0x18dab3], 0
jne 0x43e157
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x80], 0
jmp 0x43e1af
mov ax, word [0x5f9e3e]
movzx edx, ah
cwde
mov dword [ebp - 0xa8], eax
mov eax, dword [0x5f9e3c]
mov esi, eax
movzx eax, al
mov dword [ebp - 0x98], eax
mov ax, word [0x5f9e52]
mov dword [ebp - 0xa0], edx
movzx edx, ah
cwde
mov dword [ebp - 0x84], eax
mov eax, dword [0x5f9e50]
mov dword [ebp - 0x64], edx
mov edx, eax
sar esi, 8
sar edx, 8
movzx eax, al
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x80], eax
movsx edx, word [0x5f9e14]
mov eax, edx
and edx, 3
sar eax, 2
and eax, 3
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], eax
movsx eax, byte [0x5f9e06]
cmp eax, 7
ja case.0x43e1e4.3
movzx eax, byte [eax + 0x441268]
jmp dword [eax*4 + 0x441260]
test byte [0x5f9e18], 0x10
je case.0x43e1e4.3
push 0xa
lea eax, [ebx + 0x18d77a]
push 0x5f9e24
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43e27c
cmp dword [ebx + 0x13f194], 0
jne 0x43e231
push dword [0x5f9e18]
mov ecx, ebx
call fcn.00487b00
cmp eax, 2
je case.0x43e0e6.67
push dword [0x5f9e18]
mov ecx, ebx
call fcn.00487b00
cmp eax, 1
je 0x43e27c
movzx eax, word [ebx + 0x18c100]
cmp ax, 0xffff
je 0x43e26f
cwde
push 0x12
push str.NecklaceOfBeholder
mov eax, dword [ebx + eax*4 + 0x18558c]
add eax, 4
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43e27c
cmp dword [ebx + 0x13f194], 0
jle case.0x43e0e6.67
mov cl, byte [0x5f9e0a]
mov byte [ebp - 0x20], 1
movsx eax, byte [0x5f9e06]
sub eax, 7
je 0x43e2c9
sub eax, 1
jne case.default.0x43e2d6
movsx eax, cl
add eax, 0xfffffffc
cmp eax, 8
ja case.default.0x43e2d6
jmp dword [eax*4 + 0x441270]
mov cl, 4
mov byte [ebp - 0xc], cl
jmp 0x43e326
mov cl, 5
mov byte [ebp - 0xc], cl
jmp 0x43e326
mov cl, 6
mov byte [ebp - 0xc], cl
jmp 0x43e326
mov cl, 7
mov byte [ebp - 0xc], cl
jmp 0x43e326
movsx eax, byte [0x5f9e07]
dec eax
cmp eax, 7
ja case.default.0x43e2d6
jmp dword [eax*4 + 0x441294]
mov byte [0x5f9e07], 5
jmp case.default.0x43e2d6
mov byte [0x5f9e07], 6
jmp case.default.0x43e2d6
mov byte [0x5f9e07], 7
jmp case.default.0x43e2d6
mov byte [0x5f9e07], 8
jmp case.default.0x43e2d6
mov byte [0x5f9e07], 1
jmp case.default.0x43e2d6
mov byte [0x5f9e07], 2
jmp case.default.0x43e2d6
mov byte [0x5f9e07], 3
jmp case.default.0x43e2d6
mov byte [0x5f9e07], 4
mov cl, byte [ebp - 0xc]
cmp word [0x5f9e04], 0x5b
jne 0x43e337
mov byte [0x5f9e07], 3
movsx esi, word [0x5f9e04]
or edx, 0xffffffff
mov dword [ebp - 4], edx
lea eax, [esi - 1]
cmp eax, 0x76
ja case.0x43e357.7
movzx eax, byte [eax + 0x4412c0]
jmp dword [eax*4 + 0x4412b4]
mov dword [ebp - 0x70], 0x6004
mov dword [ebp - 0x78], 0x60f4
mov dword [ebp - 0x68], 0x61e4
mov dword [ebp - 0x74], 0x14b4
mov dword [ebp - 0x7c], 0x15a4
mov dword [ebp - 0x60], 0x1694
mov dword [ebp - 0x34], 0x1784
mov dword [ebp - 0x18], 0x268e
mov dword [ebp - 0x5c], 0x722e
mov dword [ebp - 0x6c], 0x2756
jmp 0x43e403
mov al, byte [0x5f9e11]
and al, 0xf
mov dword [ebp - 0x70], 0x38f4
cmp al, 1
mov dword [ebp - 0x78], 0x39e4
mov eax, 0
mov dword [ebp - 0x68], 0x3ad4
sete al
mov dword [ebp - 0x74], 0x3bc4
mov dword [ebp - 0x7c], 0x3cb4
mov dword [ebp - 0x60], 0x3da4
mov dword [ebp - 0x34], 0x3e94
mov dword [ebp - 0x18], 0x4d9e
mov dword [ebp - 0x5c], 0x993e
mov dword [ebp - 0x6c], 0x4e66
mov dword [ebp - 0x9c], eax
movzx eax, word [0x5f9e0c]
mov esi, 0x1f4
mov edi, eax
mov dword [ebp - 0x40], 0x514
and edi, 0xf000
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x30], edi
mov ch, cl
movsx edi, ax
mov eax, edi
and edi, 0xf
sar eax, 4
movzx eax, al
mov dword [ebp - 0x58], eax
mov ax, word [0x5f9e10]
movzx ebx, ax
shr ebx, 0xc
cwde
mov dword [ebp - 0x48], ebx
mov ebx, eax
mov dword [ebp - 0x38], eax
and eax, 0xf
sar dword [ebp - 0x38], 8
and dword [ebp - 0x38], 0xf
sar ebx, 4
and ebx, 0xf
mov dword [ebp - 0x50], eax
mov ax, word [0x5f9e14]
mov dword [ebp - 0x28], ebx
movzx ebx, ax
cwde
sar eax, 8
shr ebx, 0xc
and eax, 0xf
test dword [0x5f9e18], 0x80000
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 8], eax
je 0x43e48c
xor eax, eax
jmp 0x43e4e3
test dword [0x5f9e1c], 0x8000
je 0x43e4a1
mov dword [ebp - 0x44], 1
jmp 0x43e4e6
test dword [0x5f9e1c], 0x4000
je 0x43e4b6
mov dword [ebp - 0x44], 2
jmp 0x43e4e6
test dword [0x5f9e1c], 0x2000
je 0x43e4cb
mov dword [ebp - 0x44], 3
jmp 0x43e4e6
test byte [0x5f9e1c], 2
je 0x43e4dd
mov dword [ebp - 0x44], 2
jmp 0x43e4e6
or eax, 0xffffffff
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
movsx eax, byte [0x5f9e06]
mov ebx, dword [ebp - 0x24]
cmp eax, 0x65
ja case.0x43e500.9
movzx eax, byte [eax + 0x441364]
jmp dword [eax*4 + 0x441338]
xor edx, edx
sar cl, 1
cmp dword [ebp - 0x30], edx
mov byte [ebp - 0xc], cl
setne dl
jmp 0x43e536
mov dword [ebp - 4], edx
mov al, ch
mov byte [ebp - 0xc], al
cmp edx, 0xffffffff
jne 0x43e539
cmp dword [ebp - 0x30], 0
mov edx, 3
mov byte [ebp - 0xc], al
jne 0x43e536
mov edx, 2
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x43e549
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x43e565
lea ecx, [eax*8]
sub ecx, eax
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x34]
add ecx, edx
lea eax, [eax + ecx*8]
dec eax
mov dword [ebp - 0x1c], eax
test edi, edi
jne 0x43e571
mov edx, dword [ebp - 4]
jmp 0x43e73f
lea eax, [edx + edi*8]
mov edx, dword [ebp - 4]
add dword [ebp - 0x18], eax
jmp 0x43e746
mov eax, dword [ebp - 0x58]
mov edx, 4
mov dword [ebp - 4], edx
test eax, eax
jne 0x43e597
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x43e5b3
lea ecx, [eax*8]
sub ecx, eax
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x34]
lea eax, [eax + ecx*8]
add eax, 0x2f
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x43e73f
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + edi*8]
add ecx, 6
mov dword [ebp - 0x18], ecx
jmp 0x43e746
cmp dword [ebp - 0x30], 0
je 0x43e649
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x27
jbe 0x43e5eb
cmp ecx, 0x2e
jb 0x43e5e4
cmp ecx, 0x3b
jbe 0x43e5eb
lea eax, [ecx - 0x3d]
test eax, eax
jne 0x43e5f3
mov edx, 6
mov dword [ebp - 4], edx
cmp ecx, 0x28
jb 0x43e5fd
cmp ecx, 0x2d
jbe 0x43e602
cmp ecx, 0x3c
jne 0x43e60a
mov edx, 7
mov dword [ebp - 4], edx
test ecx, ecx
jne 0x43e617
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x43e630
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x34]
shl ecx, 3
sub ecx, dword [ebp - 0x58]
lea eax, [eax + ecx*8]
add eax, 0x1f
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x43e73f
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + edi*8]
add ecx, 4
mov dword [ebp - 0x18], ecx
jmp 0x43e746
mov edx, 5
jmp 0x43e735
mov edx, 8
jmp 0x43e735
mov edx, 9
jmp 0x43e735
cmp byte [0x5f9e0a], 4
mov eax, dword [ebp - 0x58]
jge 0x43e6b9
test eax, eax
jne 0x43e682
xor edx, edx
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x43e6a3
lea ecx, [eax*8]
mov edx, 1
sub ecx, eax
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x34]
lea eax, [eax + ecx*8]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], edx
test edi, edi
je 0x43e73f
lea eax, [edx + edi*8]
add dword [ebp - 0x18], eax
jmp 0x43e746
mov edx, 0xa
mov dword [ebp - 4], edx
test eax, eax
jne 0x43e6ce
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x43e6ea
lea ecx, [eax*8]
sub ecx, eax
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x34]
lea eax, [eax + ecx*8]
add eax, 0x27
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x43e73f
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx + edi*8]
add ecx, 5
mov dword [ebp - 0x18], ecx
jmp 0x43e746
mov eax, dword [ebp - 0x58]
mov edx, 0xa
mov dword [ebp - 4], edx
test eax, eax
jne 0x43e6ce
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x43e6ea
xor eax, eax
mov edx, 0xb
cmp byte [0x5f9e0a], 6
cmovl edx, eax
jmp 0x43e735
mov al, 7
mov edx, 0xb
mov byte [ebp - 0xc], al
jmp 0x43e735
xor edx, edx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], 0xffffffff
mov al, byte [ebp - 0x11]
mov edi, dword [ebp - 0x40]
mov byte [ebp - 0x34], al
cmp edi, 0xffffffff
je 0x43e86b
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x90], 0xf
mov dword [ebp - 0x8c], 0xffffffec
lea eax, [ecx*8]
sub eax, ecx
lea edi, [edi + eax*8]
mov dword [ebp - 0x40], edi
cmp ecx, 2
je 0x43e788
cmp ecx, 3
jne 0x43e792
mov dword [ebp - 0x8c], 0xffffffdd
movsx eax, byte [0x5f9e07]
dec eax
cmp eax, 7
ja case.0x43e7a6.4
movzx eax, byte [eax + 0x4413d4]
jmp dword [eax*4 + 0x4413cc]
mov dword [ebp - 0x90], 0xfffffff1
movsx eax, byte [0x5f9e06]
cmp eax, 0xa
ja case.0x43e7c7.9
jmp dword [eax*4 + 0x4413dc]
mov al, byte [ebp - 0x11]
add edi, 0x28
sar al, 2
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x34], al
jmp 0x43e87d
cmp dword [ebp - 0x30], 0
je 0x43e811
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x43e803
cmp eax, 0x22
jb 0x43e7f9
cmp eax, 0x27
jbe 0x43e803
cmp eax, 0x2e
je 0x43e803
cmp eax, 0x3b
jne 0x43e809
add edi, 8
mov dword [ebp - 0x40], edi
mov al, byte [ebp - 0x11]
mov byte [ebp - 0x34], al
jmp 0x43e87d
mov al, byte [ebp - 0x11]
add edi, 0x28
sar al, 1
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x34], al
jmp 0x43e87d
mov al, byte [ebp - 0x11]
add edi, 0x20
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x34], al
jmp 0x43e87d
mov al, byte [ebp - 0x11]
add edi, 0x28
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x34], al
jmp 0x43e87d
mov al, byte [ebp - 0x11]
add edi, 0x10
sar al, 2
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x34], al
jmp 0x43e87d
mov al, byte [ebp - 0x11]
add edi, 0x18
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x34], al
jmp 0x43e87d
mov al, byte [ebp - 0x11]
mov dword [ebp - 0x40], 0xffffffff
mov byte [ebp - 0x34], al
jmp 0x43e87d
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0x90], edi
mov edi, dword [ebp + 0x24]
mov dword [ebp - 0x8c], edi
movsx eax, word [0x5f9e04]
dec eax
movzx eax, byte [eax + 0x44142c]
jmp dword [eax*4 + 0x441408]
movsx eax, word [0x5f9e04]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, edx
lea esi, [esi + ecx*8]
add esi, 0xffffff88
jmp 0x43e905
lea esi, [esi + edx*8]
add esi, 0x168
jmp 0x43e905
lea esi, [esi + edx*8]
add esi, 0x1e0
jmp 0x43e905
mov ax, word [0x5f9e08]
lea esi, [esi + edx*8]
mov ecx, 0xa0
add esi, 0x258
and ax, cx
or ax, 0x50
mov word [0x5f9e08], ax
jmp 0x43e905
lea esi, [esi + edx*8]
add esi, 0x258
jmp 0x43e905
lea esi, [esi + edx*8]
jmp 0x43e905
lea esi, [esi + edx*8]
add esi, 0xf0
jmp 0x43e905
lea esi, [esi + edx*8]
add esi, 0x78
mov dword [ebp - 0x10], esi
movsx edx, word [0x5f9e08]
mov ecx, edx
sar edx, 8
and ecx, 0xf
and edx, 0xf
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [ebp - 4]
add eax, ecx
add dword [ebp - 0x70], eax
mov eax, edx
shl eax, 4
sub eax, edx
add eax, ecx
add dword [ebp - 0x78], eax
test byte [0x5f9e14], 0x80
jne 0x43e95a
mov edx, dword [ebp - 0x48]
test edx, edx
jne 0x43e94e
mov dword [ebp - 0x68], 0xffffffff
jmp 0x43e95a
mov eax, edx
shl eax, 4
sub eax, edx
add eax, ecx
add dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x50]
test edx, edx
jne 0x43e96a
mov dword [ebp - 0x74], 0xffffffff
jmp 0x43e976
mov eax, edx
shl eax, 4
sub eax, edx
add eax, ecx
add dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x38]
test edx, edx
jne 0x43e986
mov dword [ebp - 0x7c], 0xffffffff
jmp 0x43e992
mov eax, edx
shl eax, 4
sub eax, edx
add eax, ecx
add dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x2c]
test edx, edx
jne 0x43e9a2
mov dword [ebp - 0x60], 0xffffffff
jmp 0x43e9ae
mov eax, edx
shl eax, 4
sub eax, edx
add eax, ecx
add dword [ebp - 0x60], eax
mov edx, dword [ebp - 8]
test edx, edx
jne 0x43e9be
mov dword [ebp - 0x5c], 0xffffffff
jmp 0x43e9ca
mov eax, edx
shl eax, 4
sub eax, edx
add eax, ecx
add dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x28]
test edx, edx
jne 0x43e9d9
mov cl, byte [ebp - 0x51]
jmp 0x43ed60
mov eax, edx
shl eax, 4
sub eax, edx
add eax, ecx
mov cl, byte [ebp - 0x51]
add dword [ebp - 0x6c], eax
jmp 0x43ed67
mov di, word [0x5f9e0c]
movzx eax, di
mov ch, al
test ax, ax
je 0x43ea0d
mov cl, al
mov edx, 4
dec cl
mov dword [ebp - 4], edx
mov byte [ebp - 0xc], cl
movsx eax, byte [0x5f9e06]
cmp eax, 0x65
ja case.0x43ea24.2
movzx eax, byte [eax + 0x4414c0]
jmp dword [eax*4 + 0x4414a4]
add esi, 0xfffffff6
cmp esi, 0x77
ja case.0x43ea3a.28
movzx eax, byte [esi + 0x441534]
jmp dword [eax*4 + 0x441528]
sar cl, 1
mov byte [ebp - 0xc], cl
mov edx, 1
jmp case.0x43eb65.42
test di, di
je 0x43ea71
mov cl, ch
mov ch, byte [0x5f9e0a]
cmp ch, 4
jge 0x43ea69
dec cl
mov byte [ebp - 0xc], cl
jmp 0x43ea77
add cl, 3
mov byte [ebp - 0xc], cl
jmp 0x43ea77
mov ch, byte [0x5f9e0a]
movsx eax, word [0x5f9e04]
add eax, 0xffffffbe
cmp eax, 0x1e
ja case.0x43ea8d.67
movzx eax, byte [eax + 0x4415bc]
jmp dword [eax*4 + 0x4415ac]
cmp edx, 0xffffffff
jne 0x43ec3d
mov edx, 2
jmp case.0x43eb65.42
cmp edx, 0xffffffff
jne 0x43ec3d
xor eax, eax
mov edx, 3
cmp ch, 4
cmovl edx, eax
jmp case.0x43eb65.42
add esi, 0xffffffbe
cmp esi, 0x1e
ja case.0x43ead1.67
movzx eax, byte [esi + 0x4415e4]
jmp dword [eax*4 + 0x4415dc]
mov edx, 3
jmp case.0x43eb65.42
test di, di
je 0x43eaee
mov al, ch
add al, 3
mov byte [ebp - 0xc], al
movsx eax, word [0x5f9e04]
add eax, 0xffffffbe
cmp eax, 0x1e
ja case.0x43eb04.67
movzx eax, byte [eax + 0x441610]
jmp dword [eax*4 + 0x441604]
mov cl, byte [0x5f9e0a]
cmp edx, 0xffffffff
jne 0x43eb48
mov edx, 2
jmp 0x43eb4b
mov cl, byte [0x5f9e0a]
cmp edx, 0xffffffff
jne 0x43eb48
mov edx, 3
jmp 0x43eb4b
mov cl, byte [0x5f9e0a]
cmp edx, 0xffffffff
jne 0x43eb48
mov edx, 4
xor eax, eax
cmp cl, dl
cmovl edx, eax
jmp 0x43eb4b
mov edx, dword [ebp - 4]
movsx eax, word [0x5f9e04]
add eax, 0xffffffdc
cmp eax, 0xf
ja case.0x43eb65.42
movzx eax, byte [eax + 0x44163c]
jmp dword [eax*4 + 0x441630]
test di, di
jne case.0x43eb65.42
cmp cl, 4
jge case.0x43eb65.42
xor cl, cl
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
add esi, 0xffffffe4
cmp esi, 0x60
ja case.0x43eb97.34
movzx eax, byte [esi + 0x44166c]
jmp dword [eax*4 + 0x44164c]
mov cl, 5
mov edx, 4
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
mov cl, 7
mov edx, 4
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
xor cl, cl
mov edx, 4
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
mov cl, 0xb
mov edx, 4
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
mov cl, 7
mov edx, 2
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
mov cl, 7
mov edx, 3
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
mov cl, 5
mov edx, 2
mov byte [ebp - 0xc], cl
jmp case.0x43eb65.42
mov al, 3
mov edx, 4
mov byte [ebp - 0xc], al
jmp case.0x43eb65.42
add esi, 0xffffffbe
cmp esi, 0x1e
ja case.0x43ec13.67
movzx eax, byte [esi + 0x4416dc]
jmp dword [eax*4 + 0x4416d0]
cmp edx, 0xffffffff
jne 0x43ec3d
xor edx, edx
jmp case.0x43eb65.42
cmp edx, 0xffffffff
jne 0x43ec3d
mov edx, 1
jmp case.0x43eb65.42
cmp edx, 0xffffffff
mov eax, 2
cmove edx, eax
mov dword [ebp - 4], edx
mov edx, dword [ebp - 4]
movsx eax, word [0x5f9e04]
add eax, 0xffffff92
cmp eax, 0x13
ja case.0x43ec53.111
jmp dword [eax*4 + 0x4416fc]
lea eax, [edx*8 + 0xc60c]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc794]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc7cc]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc804]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc83c]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc874]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc8ac]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc8e4]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc91c]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc954]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc98c]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc9c4]
jmp 0x43ecf7
lea eax, [edx*8 + 0xc9fc]
jmp 0x43ecf7
lea eax, [edx*8 + 0xca34]
jmp 0x43ecf7
movsx eax, word [0x5f9e04]
lea ecx, [eax*8]
sub ecx, eax
add ecx, edx
lea eax, [ecx*8 + 0xb25c]
mov dword [ebp - 0x10], eax
xor cl, cl
mov al, byte [ebp - 0x11]
mov byte [ebp - 0x34], al
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x7c], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x5c], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x6c], 0xffffffff
movsx eax, byte [0x5f9e06]
add eax, 0xfffffffc
mov dword [ebp - 0x2c], 8
cmp eax, 6
ja case.0x43ed7d.8
jmp dword [eax*4 + 0x44174c]
mov dword [ebp - 0x2c], 4
mov ch, byte [0x5f9e0a]
movsx eax, byte [0x5f9e06]
xor edx, edx
xor esi, esi
mov dword [ebp - 4], edx
dec eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], edx
cmp eax, 7
ja case.0x43edb9.3
movzx eax, byte [eax + 0x441774]
jmp dword [eax*4 + 0x441768]
mov dword [ebp - 0x2c], 0x10
jmp case.0x43ed7d.8
mov ch, byte [0x5f9e0a]
cmp ch, 4
jl 0x43ed91
mov cl, byte [ebp - 0xc]
add cl, 0xfc
mov dword [ebp - 0x2c], 4
mov byte [ebp - 0xc], cl
jmp 0x43ed91
mov ch, byte [0x5f9e0a]
test cl, cl
je 0x43ee00
cmp ch, 6
jl 0x43ed91
mov cl, byte [ebp - 0xc]
add cl, 0xfa
mov byte [ebp - 0xc], cl
jmp 0x43ed91
cmp ch, 4
jl 0x43ed91
add byte [ebp - 0xc], 0xfc
jmp 0x43ed91
movsx edi, byte [0x5f9e07]
dec edi
cmp edi, 7
ja case.default.0x43ee1c
jmp dword [edi*4 + 0x44177c]
movsx eax, byte [ebp - 0x12]
mov edx, 0x1e
mov cl, byte [ebp + 0x24]
shl eax, 2
sub edx, eax
movzx eax, cl
sub edx, eax
mov dword [ebp - 4], edx
jmp 0x43ee64
movsx eax, byte [ebp - 0x12]
mov edx, 0x1e
lea ecx, [eax*4]
movzx eax, byte [ebp + 0x24]
sub edx, ecx
sub edx, eax
mov dword [ebp - 4], edx
lea esi, [eax - 0x1e]
add esi, ecx
mov dword [ebp - 8], esi
mov cl, byte [ebp + 0x24]
jmp dword [edi*4 + 0x44179c]
movsx ecx, byte [ebp - 0x12]
movzx eax, byte [ebp + 0x24]
lea esi, [ecx*4 - 0x1e]
add esi, eax
jmp 0x43ee5e
movsx ecx, byte [ebp - 0x12]
movzx eax, byte [ebp + 0x24]
lea esi, [ecx*4 - 0x1e]
add esi, eax
mov edx, esi
mov dword [ebp - 4], edx
jmp 0x43ee5e
movsx ecx, byte [ebp - 0x12]
movzx eax, byte [ebp + 0x24]
lea edx, [ecx*4 - 0x1e]
add edx, eax
mov dword [ebp - 4], edx
jmp 0x43ee61
movzx eax, byte [ebp + 0x24]
mov esi, 0x1e
movsx ecx, byte [ebp - 0x12]
shl ecx, 2
sub esi, ecx
lea edx, [eax - 0x1e]
add edx, ecx
sub esi, eax
mov dword [ebp - 4], edx
jmp 0x43ee5e
movsx eax, byte [ebp - 0x12]
mov esi, 0x1e
mov cl, byte [ebp + 0x24]
shl eax, 2
sub esi, eax
movzx eax, cl
sub esi, eax
mov dword [ebp - 8], esi
jmp 0x43ee64
movsx eax, byte [ebp - 0x12]
mov esi, 0x1e
mov cl, byte [ebp + 0x24]
shl eax, 2
sub esi, eax
movzx eax, cl
sub esi, eax
mov edx, esi
mov dword [ebp - 8], esi
mov dword [ebp - 4], edx
jmp 0x43ee64
cmp ch, 1
jl 0x43f16c
cmp ch, 3
jg case.default.0x43ee1c
movsx esi, ch
mov eax, esi
sub eax, 1
je 0x43f00a
sub eax, 1
je 0x43f006
sub eax, 1
jne 0x43f001
xor cl, cl
jmp 0x43f00c
mov cl, byte [ebp + 0x27]
jmp 0x43f00c
mov cl, 0x10
jmp 0x43f00c
mov cl, 0x1a
movsx eax, byte [0x5f9e07]
dec eax
cmp eax, 7
ja case.default.0x43f019
jmp dword [eax*4 + 0x4417bc]
movsx edx, cl
mov dword [ebp - 4], edx
xor edi, edi
sub esi, 1
je 0x43f037
sub esi, 1
je 0x43f09f
sub esi, 1
jne 0x43f03b
inc edx
mov dword [ebp - 4], edx
movsx eax, ch
sub eax, 2
je 0x43f0a4
sub eax, 1
jne 0x43f0aa
mov cl, 0x10
jmp 0x43f0a6
movsx edi, cl
mov edx, edi
neg edi
mov dword [ebp - 4], edx
mov dword [ebp - 8], edi
jmp 0x43f028
movsx edi, cl
neg edi
mov dword [ebp - 8], edi
jmp 0x43f028
movsx edi, cl
neg edi
mov edx, edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edx
jmp 0x43f028
movsx edx, cl
neg edx
jmp 0x43f023
movsx edi, cl
mov edx, edi
mov dword [ebp - 8], edi
neg edx
mov dword [ebp - 4], edx
jmp 0x43f028
movsx edi, cl
mov dword [ebp - 8], edi
jmp 0x43f028
movsx edi, cl
mov edx, edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edx
jmp 0x43f028
add edx, 2
jmp 0x43f038
mov cl, 0x1a
mov byte [ebp - 0x39], 1
movsx eax, byte [0x5f9e07]
dec eax
mov dword [ebp - 0x44], 0
mov dword [ebp + 0x24], 0
cmp eax, 7
ja case.default.0x43f0c5
jmp dword [eax*4 + 0x4417dc]
movsx eax, cl
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
jmp 0x43f258
mov edx, dword [ebp + 0x10]
movsx eax, cl
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x24], eax
neg eax
mov dword [ebp - 0x44], eax
jmp 0x43f258
mov edx, dword [ebp + 0x10]
movsx eax, cl
mov ecx, dword [ebp + 0xc]
neg eax
mov dword [ebp - 0x44], eax
jmp 0x43f258
mov edx, dword [ebp + 0x10]
movsx eax, cl
mov ecx, dword [ebp + 0xc]
neg eax
mov dword [ebp - 0x44], eax
mov dword [ebp + 0x24], eax
jmp 0x43f258
mov edx, dword [ebp + 0x10]
movsx eax, cl
mov ecx, dword [ebp + 0xc]
neg eax
mov dword [ebp + 0x24], eax
jmp 0x43f258
mov edx, dword [ebp + 0x10]
movsx ecx, cl
mov eax, ecx
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 0xc]
neg eax
mov dword [ebp + 0x24], eax
jmp 0x43f258
mov edx, dword [ebp + 0x10]
movsx eax, cl
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
jmp 0x43f258
mov edx, dword [ebp + 0x10]
movsx eax, cl
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
mov dword [ebp + 0x24], eax
jmp 0x43f258
cmp ch, 3
jle 0x43f186
mov ecx, dword [ebp + 0xc]
xor edi, edi
mov edx, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x43f25b
movsx eax, byte [0x5f9e07]
dec eax
cmp eax, 7
ja case.0x43edb9.3
jmp dword [eax*4 + 0x4417fc]
mov ecx, dword [ebp + 0xc]
mov esi, 0x20
mov edx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 4], esi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
mov esi, 0x20
mov edx, dword [ebp + 0x10]
mov edi, 0xffffffe0
mov dword [ebp - 4], esi
mov dword [ebp - 8], edi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
mov edi, 0xffffffe0
mov edx, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 8], edi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
mov edi, 0xffffffe0
mov edx, dword [ebp + 0x10]
mov esi, edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
mov esi, 0xffffffe0
mov edx, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 4], esi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
mov esi, 0xffffffe0
mov edx, dword [ebp + 0x10]
mov edi, 0x20
mov dword [ebp - 4], esi
mov dword [ebp - 8], edi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
mov edi, 0x20
mov edx, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 8], edi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
mov edi, 0x20
mov edx, dword [ebp + 0x10]
mov esi, edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], esi
jmp 0x43f25b
mov ecx, dword [ebp + 0xc]
xor esi, esi
mov edx, dword [ebp + 0x10]
xor edi, edi
jmp 0x43f25b
mov esi, dword [ebp - 4]
cmp byte [0x5f9e06], 0x65
je 0x43f855
cmp byte [ebx + 0x189666], 0
jne 0x43f27d
mov eax, dword [ebx + 0x13f198]
cmp byte [eax + 9], 0
je 0x43f290
movsx eax, byte [ebp - 0xc]
add ecx, edi
push eax
lea eax, [esi + edx]
push eax
push ecx
mov ecx, ebx
call fcn.004419b0
movsx eax, byte [0x5f9e06]
sub eax, 0
je 0x43f35e
sub eax, 1
je 0x43f2f1
sub eax, 2
je 0x43f35e
mov edi, dword [ebp + 0x18]
mov eax, dword [0x5f9e40]
sub eax, 1
je 0x43f3a7
sub eax, 1
jne 0x43f3d2
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push eax
mov eax, dword [ebp + 0x10]
push 0x64
push 1
push edi
push dword [0x5f9e44]
add eax, esi
push eax
push ecx
mov ecx, dword [ebx + 0x1833b8]
jmp 0x43f3cd
movsx eax, word [0x5f9e04]
add eax, 0xffffffbf
cmp eax, 0x36
ja case.0x43f378.16
movzx eax, byte [eax + 0x441828]
jmp dword [eax*4 + 0x44181c]
mov ecx, dword [ebp + 0xc]
movsx eax, byte [ebp - 0xc]
add ecx, edi
mov edi, dword [ebp + 0x18]
push edi
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
push ecx
mov ecx, dword [ebx + 0x183480]
call fcn.0057ece0
jmp 0x43f2b1
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add ecx, edi
mov edi, dword [ebp + 0x18]
add eax, esi
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0x64
push 1
push edi
push 1
push eax
push ecx
mov ecx, dword [ebx + 0x18334c]
call fcn.0057ed30
jmp 0x43f2b1
movsx eax, word [0x5f9e04]
add eax, 0xfffffff1
cmp eax, 0x68
ja case.0x43f378.16
movzx eax, byte [eax + 0x441868]
jmp dword [eax*4 + 0x441860]
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x18334c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0x64
push 1
push edi
push 1
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0057ed30
jmp 0x43f2b1
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x10]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0x64
push 1
push edi
push dword [0x5f9e44]
add eax, esi
push eax
push ecx
mov ecx, dword [ebx + 0x1833b4]
call fcn.0057ed30
test dword [0x5f9e18], 0x8000000
je 0x43f413
mov eax, 0x51eb851f
mov ecx, 0x1e
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x23
add eax, esi
inc ecx
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x18346c]
push eax
call fcn.0057ece0
test dword [0x5f9e18], 0x4000000
je 0x43f458
mov eax, 0x51eb851f
mov ecx, 0xf
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x87
add eax, esi
add ecx, 0x65
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x183488]
push eax
call fcn.0057ece0
test dword [0x5f9e18], 0x2000000
mov ecx, 0x11
mov dword [ebp - 0x48], ecx
je 0x43f49e
mov eax, 0x51eb851f
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x6b
add eax, esi
add ecx, 0x4b
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x18348c]
push eax
call fcn.0057ec90
test dword [0x5f9e18], 0x1000000
mov ecx, 0x18
je 0x43f4e1
mov eax, 0x51eb851f
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x5f
add eax, esi
add ecx, 0x7d
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x183470]
push eax
call fcn.0057ece0
test byte [0x5f9e18], 0x80
je 0x43f521
mov eax, 0x51eb851f
mov ecx, 0x15
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x55
add eax, esi
add ecx, 0x73
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x183490]
push eax
call fcn.0057ece0
test dword [0x5f9e18], 0x200000
je 0x43f564
mov eax, 0x51eb851f
mov ecx, 0x18
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x37
add eax, esi
add ecx, 0x5a
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x1835a8]
push eax
call fcn.0057ece0
test dword [0x5f9e18], 0x400000
je 0x43f5a7
mov eax, 0x51eb851f
mov ecx, 0xf
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x78
add eax, esi
add ecx, 0x5a
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x1835a0]
push eax
call fcn.0057ece0
test dword [0x5f9e18], 0x800000
je 0x43f5e8
mov eax, 0x51eb851f
mov ecx, 0xf
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x1a
add eax, esi
inc ecx
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x1835a4]
push eax
call fcn.0057ece0
test dword [0x5f9e18], 0x10000
je 0x43f629
mov eax, 0x51eb851f
mov dword [ebp - 0x28], 0x17
mul edi
mov ecx, dword [ebp + 0xc]
shr edx, 5
mov eax, edx
add ecx, dword [ebp - 8]
xor edx, edx
div dword [ebp - 0x28]
mov eax, dword [ebp + 0x10]
push edi
add eax, 0x20
push edx
add eax, esi
push eax
push ecx
mov ecx, dword [ebx + 0x18359c]
call fcn.0057ece0
test dword [0x5f9e18], 0x20000
je 0x43f66e
mov eax, 0x51eb851f
mov ecx, 0x1d
mul edi
push 0x64
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x36
push edi
add eax, esi
add ecx, 0x35
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x1834a8]
push eax
call fcn.0057f0f0
test dword [0x5f9e1c], 0x1000
je 0x43f6b1
mov eax, 0x51eb851f
mov ecx, 0x11
mul edi
push edi
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0x20
add eax, esi
add ecx, 0x32
push edx
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x1834a0]
push eax
call fcn.0057ece0
test byte [0x5f9e1c], 4
je 0x43f6e8
mov eax, 0x51eb851f
mov ecx, dword [ebp + 0xc]
mul edi
add ecx, dword [ebp - 8]
shr edx, 5
mov eax, edx
xor edx, edx
div dword [ebp - 0x48]
mov eax, dword [ebp + 0x10]
push edi
add eax, 0xffffffbc
push edx
add eax, esi
push eax
push ecx
mov ecx, dword [ebx + 0x1834a4]
call fcn.0057ece0
test byte [0x5f9e1c], 8
je 0x43f71f
mov eax, 0x51eb851f
mov ecx, dword [ebp + 0xc]
mul edi
add ecx, dword [ebp - 8]
shr edx, 5
mov eax, edx
xor edx, edx
div dword [ebp - 0x48]
mov eax, dword [ebp + 0x10]
push edi
add eax, 0xffffffbc
push edx
add eax, esi
push eax
push ecx
mov ecx, dword [ebx + 0x1834fc]
call fcn.0057ece0
test byte [0x5f9e1c], 0x10
je 0x43f769
mov eax, 0x1b4e81b5
mov dword [ebp - 0x28], 6
mul edi
mov ecx, dword [ebp + 0xc]
shr edx, 4
mov eax, edx
add ecx, dword [ebp - 8]
xor edx, edx
div dword [ebp - 0x28]
mov eax, dword [ebp + 0x10]
push edi
push 0xffffff01
push 0xffffff01
push 0
add edx, 8
add eax, esi
push edx
push eax
push ecx
mov ecx, dword [ebx + 0x183420]
call fcn.0057f0c0
mov edx, dword [0x5f9e1c]
test edx, 0xff000000
je 0x43f855
shr edx, 0x1c
lea eax, [edx - 3]
cmp eax, 0x17
ja case.0x43f78d.3
movzx eax, byte [eax + 0x4418e0]
jmp dword [eax*4 + 0x4418d4]
mov dword [ebp - 0x50], 0
jmp 0x43f7a4
mov dword [ebp - 0x50], 4
cmp edx, 0xa
je 0x43f81a
cmp edx, 0xe
je 0x43f81a
movzx ecx, word [ebx + edx*2 + 0x18c57e]
movzx eax, word [ebx + 0x18c57e]
sub ecx, eax
mov esi, dword [ebp - 8]
movzx eax, word [ebx + 0x18c380]
push 0x20
push 0xffffffffffffffff
push edi
push ecx
movzx ecx, word [ebx + edx*2 + 0x18c380]
add esi, dword [ebp + 0xc]
sub ecx, eax
movzx eax, word [ebx + 0x18c182]
push ecx
movzx ecx, word [ebx + edx*2 + 0x18c182]
sub ecx, eax
mov eax, 0x51eb851f
mul edi
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 4]
add eax, 0xffffffe7
shr edx, 5
add eax, edi
push ecx
mov ecx, dword [ebx + 0x14af54]
and edx, 3
add edx, dword [ebp - 0x50]
push edx
push eax
push esi
call fcn.0057ea20
jmp 0x43f858
mov ecx, dword [ebp + 0xc]
mov eax, 0x51eb851f
add ecx, dword [ebp - 8]
push 0
push 0
push 0x20
push 0xffffffffffffffff
mul edi
mov eax, dword [ebp + 0x10]
push 0
push 0
push 1
shr edx, 5
add eax, 0xffffffe7
push edi
and edx, 3
add eax, esi
add edx, dword [ebp - 0x50]
push edx
push eax
push ecx
mov ecx, dword [ebx + 0x14af54]
call fcn.0057e2f0
mov edi, dword [ebp - 4]
cmp byte [ebp + 0x14], 0
jne 0x440aec
movsx ecx, byte [0x5f9e07]
mov eax, dword [ebp - 0x10]
add eax, ecx
cmp dword [ebx + eax*4 + 0x14a908], 0
je case.0x43e0e6.67
cmp byte [ecx + 0x5f8508], 1
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 4]
push edi
push dword [ebp - 0x20]
jne 0x43f8bc
push dword [ebp - 0xac]
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0xa0]
mov eax, dword [ebp + 0x10]
push dword [ebp - 0x58]
add eax, esi
lea edx, [edx + ecx]
push dword [ebp - 0x1c]
mov ecx, ebx
push dword [ebp - 0xc]
push eax
call fcn.0047ed70
jmp 0x43f8de
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x8c]
mov ecx, ebx
push dword [ebp - 0x34]
add edx, dword [ebp - 0x90]
add eax, esi
add eax, dword [ebp + 0x10]
add edx, dword [ebp + 0xc]
push eax
call fcn.0047ec80
cmp byte [0x5f9e06], 0x65
je 0x43fded
mov cx, word [0x5f9e04]
movsx eax, cx
add eax, 0xfffffff6
cmp eax, 0x51
ja case.0x43f904.11
movzx eax, byte [eax + 0x441904]
jmp dword [eax*4 + 0x4418f8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, esi
add ecx, dword [ebp - 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0x64
push 1
push edi
push 1
push eax
push ecx
mov ecx, dword [ebx + 0x18334c]
call fcn.0057ed30
jmp 0x43f987
cmp byte [ebx + 0x18dab3], 0
je case.0x43f904.10
movsx edx, byte [ebp - 0xc]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, esi
push edi
push edx
push eax
cmp ecx, 0x32
jge 0x43f96d
add ecx, dword [ebp - 8]
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057e0f0
jmp 0x43f987
add ecx, dword [ebp - 8]
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057deb0
mov cx, word [0x5f9e04]
cmp byte [ebp - 0x20], 0
movsx eax, cx
je 0x43fbf9
sub eax, 0x51
je 0x43fa72
sub eax, 1
je 0x43fa5e
movsx edx, byte [ebp - 0xc]
sub eax, 0x2b
je 0x43fa14
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add ecx, dword [ebp - 8]
add eax, esi
cmp byte [0x5f9e06], 5
je 0x43f9f5
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0x64
push 1
push edi
push edx
push eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ed30
jmp 0x440056
push edi
push edx
push eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ec30
jmp 0x440056
movzx eax, word [ebx + 0x18c57e]
movzx ecx, word [ebx + 0x18c58a]
mov esi, dword [ebp - 8]
sub ecx, eax
movzx eax, word [ebx + 0x18c380]
add esi, dword [ebp + 0xc]
push 1
push edi
push ecx
movzx ecx, word [ebx + 0x18c38c]
sub ecx, eax
movzx eax, word [ebx + 0x18c182]
push ecx
movzx ecx, word [ebx + 0x18c18e]
sub ecx, eax
mov eax, dword [ebp - 4]
add eax, dword [ebp + 0x10]
push ecx
push edx
push eax
push esi
jmp 0x440040
movsx eax, byte [ebp - 0xc]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp + 0xc]
push edi
push eax
mov eax, dword [ebp + 0x10]
add eax, 0xffffffec
jmp 0x43fa8a
cmp byte [0x5f9e06], 0xa
push edi
je 0x43faa9
movsx eax, byte [ebp - 0xc]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ece0
jmp 0x440056
mov eax, 0x51eb851f
mov esi, dword [ebp + 0x10]
mul edi
mov ecx, 0x1b
add esi, 0xfffffff1
mov eax, edx
xor edx, edx
shr eax, 5
mov dword [ebp + 0x14], eax
div ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov ebx, edx
push ebx
push esi
mov ecx, dword [ecx + 0x1835ac]
add eax, 0xffffffb0
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0xc]
push edi
push ebx
push esi
mov esi, dword [ebp - 0x24]
add eax, 0xffffffd8
push eax
mov ecx, dword [esi + 0x1835ac]
call fcn.0057ece0
mov ecx, dword [esi + 0x1835ac]
push edi
push ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0057ece0
mov eax, dword [ebp + 0x10]
add edi, edi
mov ecx, dword [esi + 0x1835d8]
add eax, 0xffffffb0
push edi
push ebx
push eax
mov eax, dword [ebp + 0xc]
add eax, 0xffffffa6
push eax
call fcn.0057ece0
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x24]
add esi, 0xffffffce
mov eax, dword [ebp + 0xc]
push edi
push ebx
mov ecx, dword [ecx + 0x1835cc]
add eax, 0xffffffc4
push esi
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0x10]
push edi
add eax, 0xffffffec
push ebx
push eax
mov eax, dword [ebp + 0xc]
add eax, 0xffffffe2
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1835d0]
call fcn.0057ece0
mov eax, dword [ebp + 0x10]
push edi
push ebx
add eax, 0xffffff9c
push eax
mov eax, dword [ebp - 0x24]
push dword [ebp + 0xc]
mov ecx, dword [eax + 0x1835d4]
call fcn.0057ece0
mov eax, dword [ebp + 0x10]
push edi
push ebx
add eax, 0xffffffe2
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x1e
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1835d8]
call fcn.0057ece0
mov eax, dword [ebp + 0x10]
push edi
add eax, 0xffffffa6
push ebx
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x3c
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1835d4]
call fcn.0057ece0
push edi
push ebx
mov ebx, dword [ebp - 0x24]
push esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x1835d8]
lea eax, [esi + 0x5a]
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
and eax, 0xf
movsx ecx, byte [0x5f9e07]
push edi
push eax
push dword [ebp + 0x10]
mov ecx, dword [ebx + ecx*4 + 0x18357c]
push esi
call fcn.0057ece0
jmp 0x440056
test byte [0x5f9e18], 0x40
movsx edx, byte [ebp - 0xc]
mov dword [ebp - 0x4c], edx
je 0x43fd36
cmp eax, 0x52
je 0x43fcba
cmp eax, 0x7d
je 0x43fc40
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x50], eax
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4 + 0x14a908]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x10]
jmp 0x43fcdd
mov ecx, dword [ebp + 0x10]
movzx eax, word [ebx + 0x18c57e]
add ecx, esi
mov esi, dword [ebp - 8]
add esi, dword [ebp + 0xc]
mov dword [ebp + 0x14], ecx
movzx ecx, word [ebx + 0x18c58a]
push 0xffffffffffffffff
sub ecx, eax
mov dword [ebp - 0x50], esi
movzx eax, word [ebx + 0x18c380]
push 0xffffffffffffffff
push edi
push ecx
movzx ecx, word [ebx + 0x18c38c]
sub ecx, eax
movzx eax, word [ebx + 0x18c182]
push ecx
movzx ecx, word [ebx + 0x18c18e]
sub ecx, eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
push edx
push dword [ebp + 0x14]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
push esi
call fcn.0057ea20
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4 + 0x14a908]
mov dword [ebp - 0x48], eax
jmp 0x43fce2
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x50], eax
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4 + 0x14a908]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x10]
add eax, 0xffffffec
add eax, esi
mov dword [ebp + 0x14], eax
movzx eax, word [ebx + 0x18c182]
movzx ecx, word [ebx + 0x18c196]
movzx edx, word [ebx + 0x18c394]
movzx esi, word [ebx + 0x18c592]
shr eax, 1
sub ecx, eax
movzx eax, word [ebx + 0x18c380]
push 0xffffffffffffffff
shr eax, 1
push 0xffffffffffffffff
sub edx, eax
movzx eax, word [ebx + 0x18c57e]
push edi
shr eax, 1
sub esi, eax
push esi
push edx
push ecx
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push dword [ebp + 0x14]
push dword [ebp - 0x50]
call fcn.0057ea20
jmp 0x440056
cmp eax, 0x52
je 0x43fdcc
cmp eax, 0x5b
je 0x43fdb1
cmp eax, 0x7d
je 0x43fd64
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push edi
push edx
jmp 0x43fe83
movzx eax, word [ebx + 0x18c57e]
movzx ecx, word [ebx + 0x18c58a]
mov edx, dword [ebp - 8]
sub ecx, eax
movzx eax, word [ebx + 0x18c380]
add edx, dword [ebp + 0xc]
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push ecx
movzx ecx, word [ebx + 0x18c38c]
sub ecx, eax
movzx eax, word [ebx + 0x18c182]
push ecx
movzx ecx, word [ebx + 0x18c18e]
sub ecx, eax
mov eax, dword [ebp + 0x10]
push ecx
push dword [ebp - 0x4c]
add eax, esi
push eax
push edx
jmp 0x43ffb4
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
push 0
push 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push edi
push edx
jmp 0x43fe83
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add ecx, dword [ebp - 8]
add eax, 0xffffffec
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push edi
push edx
jmp 0x43fe86
cmp word [0x5f9e04], 0x7d
je 0x43fee4
mov cl, byte [0x5f9e0a]
cmp cl, 0xff
jne 0x43fea5
test byte [0x5f9e18], 0x40
je 0x43fe69
movzx ecx, word [ebx + 0x18c57e]
movzx eax, word [ebx + 0x18c592]
mov esi, dword [ebp - 8]
movsx edx, byte [ebp - 0xc]
add esi, dword [ebp + 0xc]
push 0xffffffffffffffff
push 0xffffffffffffffff
shr ecx, 1
sub eax, ecx
movzx ecx, word [ebx + 0x18c380]
push edi
push eax
movzx eax, word [ebx + 0x18c394]
shr ecx, 1
sub eax, ecx
movzx ecx, word [ebx + 0x18c182]
push eax
movzx eax, word [ebx + 0x18c196]
shr ecx, 1
sub eax, ecx
push eax
mov eax, dword [ebp - 4]
add eax, dword [ebp + 0x10]
push edx
push eax
push esi
jmp 0x43ffb4
movsx eax, byte [ebp - 0xc]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp + 0xc]
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 1
push edi
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057e2f0
jmp 0x440056
test dword [0x5f9e18], 0x40020
movsx edx, byte [ebp - 0xc]
push 1
push edi
jne 0x43fec8
movsx eax, cl
neg eax
add eax, eax
push eax
push eax
push eax
push edx
jmp 0x44003a
movsx ecx, cl
mov eax, 0xfffffffb
add ecx, ecx
sub eax, ecx
push eax
push eax
mov eax, 5
sub eax, ecx
push eax
push edx
jmp 0x44003a
movzx eax, word [ebx + 0x18c57e]
movzx ecx, word [ebx + 0x18c58a]
movsx edx, byte [ebp - 0xc]
sub ecx, eax
movzx eax, word [ebx + 0x18c380]
mov dword [ebp - 0x4c], ecx
movzx ecx, word [ebx + 0x18c38c]
sub ecx, eax
mov dword [ebp + 0x14], edx
movzx eax, word [ebx + 0x18c182]
mov dword [ebp - 0x48], ecx
movzx ecx, word [ebx + 0x18c18e]
sub ecx, eax
cmp byte [0x5f9e0a], 0xff
mov dword [ebp - 0x50], ecx
jne 0x43ffcf
add esi, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x48]
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
push edx
push esi
push eax
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ea20
test byte [0x5f9e18], 0x40
je 0x440056
movzx ecx, word [ebx + 0x18c57e]
movzx eax, word [ebx + 0x18c592]
push 0xffffffffffffffff
push 0xffffffffffffffff
shr ecx, 1
sub eax, ecx
movzx ecx, word [ebx + 0x18c380]
push edi
push eax
movzx eax, word [ebx + 0x18c394]
shr ecx, 1
sub eax, ecx
movzx ecx, word [ebx + 0x18c182]
push eax
movzx eax, word [ebx + 0x18c196]
shr ecx, 1
sub eax, ecx
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp - 0x28]
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ea20
jmp 0x440056
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, esi
add ecx, dword [ebp - 8]
push 1
push edi
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
push dword [ebp - 0x50]
push edx
push eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ef00
test dword [0x5f9e18], 0x40020
push 1
push edi
jne 0x44001d
movsx eax, byte [0x5f9e0a]
neg eax
add eax, eax
push eax
push eax
jmp 0x440036
movsx ecx, byte [0x5f9e0a]
mov eax, 0xfffffffb
add ecx, ecx
sub eax, ecx
push eax
push eax
mov eax, 5
sub eax, ecx
push eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ef00
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4 + 0x14a908]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
lea eax, [ebx + 0x194adc]
push eax
call dword [sym.imp.USER32.dll_SetRect]
cmp byte [0x5f9e06], 0x65
jne 0x440096
cmp byte [0x5f9e0a], 0xff
jne 0x440780
cmp dword [ebp - 0x5c], 0xffffffff
mov dl, byte [0x5f9e07]
je 0x44010a
movsx eax, dl
cmp byte [eax + 0x5f8514], 0
jne 0x44010a
cmp byte [0x5f9e06], 0x65
mov esi, dword [ebp - 4]
je 0x44010d
cmp byte [ebp - 0x20], 0
movsx cx, dl
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x98]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
push eax
push 0
push 0
push dword [ebp - 0x5c]
call fcn.0047dec0
mov dl, byte [0x5f9e07]
jmp 0x44010d
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x70], 0xffffffff
je 0x440186
cmp byte [ebp - 0x20], 0
movsx eax, byte [ebp - 0xc]
mov dword [ebp + 0x14], eax
je 0x44014f
movsx eax, byte [0x5f9e07]
mov edx, dword [ebp - 8]
dec eax
imul eax, dword [ebp - 0x2c]
add edx, dword [ebp + 0xc]
push edi
add eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
mov eax, dword [ebp - 0x70]
push edx
mov ecx, dword [ebx + eax*4 + 0x14a90c]
call fcn.0057ec30
jmp 0x440186
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
movsx eax, dl
dec eax
imul eax, dword [ebp - 0x2c]
push 0
push 1
push edi
add eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
mov eax, dword [ebp - 0x70]
push ecx
mov ecx, dword [ebx + eax*4 + 0x14a90c]
call fcn.0057e2f0
cmp dword [ebp - 0x78], 0xffffffff
je 0x4401f5
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x4401f5
lea eax, [ebp + 0x14]
mov ecx, ebx
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x4c]
push eax
movsx eax, word [0x5f9e08]
sar eax, 4
and eax, 0xf
push eax
call fcn.0047fe60
movsx eax, byte [0x5f9e07]
movsx edx, byte [ebp - 0xc]
dec eax
imul eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 8]
add esi, dword [ebp + 0xc]
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push dword [ebp + 0x14]
mov edi, dword [ebp - 4]
add eax, edx
push dword [ebp - 0x28]
push dword [ebp - 0x4c]
push eax
mov eax, dword [ebp + 0x10]
add eax, edi
push eax
mov eax, dword [ebp - 0x78]
push esi
mov ecx, dword [ebx + eax*4 + 0x14a90c]
call fcn.0057ea20
jmp 0x4401f8
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp + 0x10]
cmp edx, 0xffffffff
je 0x440258
cmp dword [ebp - 0x9c], 1
jne 0x440258
cmp byte [ebp - 0x20], 0
movsx cx, byte [0x5f9e07]
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x88]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
lea eax, [esi + edi]
mov edi, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 8]
add eax, edi
push eax
push 0
push 0
push edx
call fcn.0047dec0
jmp 0x44025b
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp - 0x7c]
cmp edx, 0xffffffff
je 0x4402b8
cmp byte [ebp - 0x20], 0
movsx cx, byte [0x5f9e07]
setne al
movzx esi, si
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x84]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
movzx edi, di
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
mov eax, dword [ebp - 4]
add eax, esi
push eax
mov eax, dword [ebp - 8]
add eax, edi
push eax
push 0
push 0
push edx
call fcn.0047dec0
mov eax, esi
mov ecx, edi
jmp 0x4402be
movzx eax, si
movzx ecx, di
cmp dword [ebp - 0x74], 0xffffffff
movzx edi, cx
mov dword [ebp - 0x48], edi
movzx edx, cx
movzx edi, ax
movzx esi, ax
movzx ecx, cx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x84], edx
mov dword [ebp + 0x14], esi
mov dword [ebp - 0x28], ecx
movzx edi, ax
je 0x440348
cmp byte [ebp - 0x20], 0
movsx cx, byte [0x5f9e07]
mov esi, dword [ebp - 4]
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x64]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
lea eax, [edi + esi]
mov edi, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x28]
add eax, edi
push eax
push 0
push 0
push dword [ebp - 0x74]
call fcn.0047dec0
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x84]
movzx ecx, ax
mov eax, dword [ebp + 0xc]
movzx eax, ax
jmp 0x440354
mov edi, dword [ebp - 8]
movzx ecx, si
mov esi, dword [ebp - 4]
movzx eax, dx
cmp dword [ebp - 0x60], 0xffffffff
movzx eax, ax
mov dword [ebp - 0x64], eax
movzx eax, cx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x14]
movzx eax, ax
movzx ecx, dx
je 0x4403d8
cmp dword [ebp - 0x9c], 0
mov eax, dword [ebp + 0x14]
movzx eax, ax
movzx ecx, dx
jne 0x4403d8
cmp byte [ebp - 0x20], 0
movsx cx, byte [0x5f9e07]
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x88]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x4c]
add eax, esi
push eax
mov eax, dword [ebp - 0x48]
add eax, edi
push eax
push 0
push 0
push dword [ebp - 0x60]
call fcn.0047dec0
mov ecx, dword [ebp - 0x28]
movzx eax, cx
mov ecx, dword [ebp - 0x64]
movzx ecx, cx
cmp dword [ebp - 0x68], 0xffffffff
movzx edx, cx
movzx ebx, cx
mov dword [ebp - 0x4c], ebx
movzx ebx, ax
mov dword [ebp - 0x64], edx
movzx edx, ax
movzx ecx, cx
movzx eax, ax
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
mov dword [ebp + 0x14], eax
je 0x44045b
cmp byte [ebp - 0x20], 0
movsx cx, byte [0x5f9e07]
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x94]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
mov eax, dword [ebp + 0x14]
add eax, esi
push eax
mov eax, dword [ebp - 0x28]
add eax, edi
push eax
push 0
push 0
push dword [ebp - 0x68]
call fcn.0047dec0
mov eax, dword [ebp + 0x10]
movzx edx, ax
mov eax, dword [ebp + 0xc]
jmp 0x44045e
mov eax, dword [ebp - 0x64]
movzx eax, ax
mov dword [ebp + 0x14], eax
mov ebx, dword [ebp + 0x14]
movzx ecx, ax
movzx eax, dx
movzx edx, dx
movzx ebx, bx
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x88], ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x94], eax
cmp edx, 0xffffffff
je 0x4404f3
cmp byte [ebp - 0x20], 0
movsx cx, byte [0x5f9e07]
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x80]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x84]
add eax, esi
push eax
mov eax, dword [ebp - 0x4c]
add eax, edi
push eax
push 0
push 0
push edx
call fcn.0047dec0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x28]
movzx edx, ax
mov eax, dword [ebp + 0xc]
movzx eax, ax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x94]
jmp 0x4404ff
movzx ebx, cx
mov dword [ebp + 0x14], ebx
mov ebx, dword [ebp - 0x24]
movzx edx, ax
cmp dword [ebp - 0x5c], 0xffffffff
mov edi, dword [ebp + 0x14]
movzx edx, dx
movzx edi, di
mov dword [ebp + 0x14], edx
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 8]
movzx edx, ax
movzx eax, cx
je 0x440594
mov eax, dword [ebp - 0x94]
movzx edx, ax
movzx eax, cx
mov cl, byte [0x5f9e07]
mov dword [ebp - 0x80], eax
movsx eax, cl
cmp byte [eax + 0x5f8514], 2
jne 0x44059c
cmp byte [ebp - 0x20], 0
movsx cx, cl
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x98]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x64]
add eax, esi
push eax
mov eax, dword [ebp - 0x88]
add eax, edi
push eax
push 0
push 0
push dword [ebp - 0x5c]
call fcn.0047dec0
mov eax, dword [ebp + 0x14]
movzx edx, ax
mov eax, dword [ebp - 0x28]
movzx eax, ax
mov cl, byte [0x5f9e07]
jmp 0x44059f
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x18], 0xffffffff
movzx ebx, ax
mov dword [ebp - 0x80], ebx
movzx ebx, dx
movzx eax, ax
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp + 0x14], eax
movzx edx, dx
je 0x44066f
cmp byte [ebp - 0x20], 0
movsx cx, cl
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0xa8]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
lea eax, [edx + esi]
push eax
mov eax, dword [ebp + 0x14]
add eax, edi
push eax
push 0
push 0
push dword [ebp - 0x18]
call fcn.0047dec0
mov eax, dword [ebp - 0xb0]
sub eax, 1
je 0x44062f
sub eax, 1
je 0x44062f
sub eax, 1
jne 0x44066f
mov edx, dword [ebp + 0xc]
push 1
add edx, edi
mov edi, dword [ebp + 0x18]
push edi
push dword [ebx + 0x18c090]
push eax
jmp 0x440642
mov edx, dword [ebp + 0xc]
push 1
add edx, edi
mov edi, dword [ebp + 0x18]
push edi
push 0
push dword [ebx + 0x18c090]
movsx eax, byte [0x5f9e07]
movsx ecx, byte [ebp - 0xc]
dec eax
imul eax, dword [ebp - 0x2c]
push 0
add eax, ecx
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
mov eax, dword [ebp - 0x18]
push edx
mov ecx, dword [ebx + eax*4 + 0x14a90c]
call fcn.0057ef00
jmp 0x440672
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp - 0x5c]
mov cl, byte [0x5f9e07]
cmp edx, 0xffffffff
je 0x4406e1
movsx eax, cl
cmp byte [eax + 0x5f8514], 1
je 0x440695
cmp byte [0x5f9e06], 0x65
jne 0x4406e1
cmp byte [ebp - 0x20], 0
movsx cx, cl
setne al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2c]
dec cx
push dword [ebp - 0x98]
cwde
movsx ecx, cx
imul ecx, eax
mov al, byte [ebp - 0xc]
cbw
add cx, ax
movzx eax, cx
mov ecx, ebx
push eax
mov eax, dword [ebp - 0x28]
add eax, esi
push eax
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x80]
push eax
push 0
push 0
push edx
call fcn.0047dec0
mov cl, byte [0x5f9e07]
mov edx, dword [ebp - 8]
movsx eax, cl
push edi
push dword [ebp - 0x20]
cmp byte [eax + 0x5f8508], 1
je 0x44071e
push dword [ebp - 0xac]
mov ecx, dword [ebp + 0xc]
push dword [ebp - 0xa0]
mov eax, dword [ebp + 0x10]
push dword [ebp - 0x58]
add eax, esi
lea edx, [edx + ecx]
push dword [ebp - 0x1c]
mov ecx, ebx
push dword [ebp - 0xc]
push eax
call fcn.0047ed70
jmp 0x440740
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x8c]
mov ecx, ebx
push dword [ebp - 0x34]
add edx, dword [ebp - 0x90]
add eax, esi
add eax, dword [ebp + 0x10]
add edx, dword [ebp + 0xc]
push eax
call fcn.0047ec80
cmp dword [ebp - 0x18], 0xffffffff
je 0x440783
cmp dword [ebp - 0xb0], 1
jne 0x440783
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
add eax, 0xffffffde
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
push 0x64
push 1
push edi
add eax, esi
add ecx, 0xfffffff3
push 0
push eax
mov eax, dword [ebp - 8]
add eax, ecx
mov ecx, dword [ebx + 0x183400]
push eax
call fcn.0057ed30
jmp 0x440783
mov esi, dword [ebp - 4]
cmp word [0x5f9e04], 0x40
jne 0x440887
mov al, byte [0x5f9e06]
test al, al
je 0x4407a2
cmp al, 6
jne 0x440887
mov al, byte [ebp - 0xc]
movsx ecx, al
sub ecx, 0
je 0x440842
sub ecx, 1
je 0x440801
sub ecx, 1
jne 0x44088a
mov eax, 0x57619f1
mul edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
shr edx, 6
push ecx
imul eax, edx, 0xbb8
mov ecx, edi
push 0x64
push 1
push edi
sub ecx, eax
mov eax, 0x88888889
mul ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x183494]
add eax, 0x41
shr edx, 6
push edx
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x35
jmp 0x440881
mov eax, 0x57619f1
mov ecx, edi
mul edi
push 0xffffffffffffffff
shr edx, 6
imul eax, edx, 0xbb8
push 0xffffffffffffffff
push 0
push 0
push 0x64
sub ecx, eax
mov eax, 0x88888889
mul ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x183498]
add eax, 0x3b
push 1
push edi
shr edx, 6
push edx
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x35
jmp 0x440881
mov eax, 0x57619f1
mov ecx, edi
mul edi
push 0xffffffffffffffff
shr edx, 6
imul eax, edx, 0xbb8
push 0xffffffffffffffff
push 0
push 0
push 0x64
sub ecx, eax
mov eax, 0x88888889
mul ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x18349c]
add eax, 0x36
push 1
push edi
shr edx, 6
push edx
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x34
push eax
call fcn.0057ed30
mov al, byte [ebp - 0xc]
test dword [0x5f9e18], 0x40020
je 0x4408d3
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 8]
cmp word [0x5f9e04], 0x52
push 1
push edi
push 0xfffffffffffffffb
push 0xfffffffffffffffb
movsx edx, al
mov eax, dword [ebp + 0x10]
push 0
push edx
jne 0x4408b9
add eax, 0xffffffec
add eax, esi
push eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ef00
mov ax, word [0x5f9e04]
cmp ax, 6
jle 0x44096e
cmp ax, 0x52
jne 0x4408ef
sub esi, 0x14
mov dword [ebp - 4], esi
mov eax, dword [0x5f9e18]
sar eax, 0xc
and eax, 0xf
dec eax
cmp eax, 4
ja case.default.0x440900
jmp dword [eax*4 + 0x441958]
push 1
push edi
push 0xffffffffffffffe7
push 0
jmp 0x440934
push 1
push edi
push 0
push 0
push 0xffffffffffffffe7
jmp 0x440936
push 1
push edi
push 0
push 0xffffffffffffffe7
push 0xffffffffffffffe7
jmp 0x440936
push 1
push edi
push 0
jmp 0x440932
push 1
push edi
push 0xffffffffffffffe7
push 0xffffffffffffffe7
push 0
movsx eax, byte [ebp - 0xc]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
add eax, esi
push eax
push ecx
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
mov ecx, dword [ebx + ecx*4 + 0x14a908]
call fcn.0057ef00
cmp word [0x5f9e04], 0x52
jne 0x44096e
add esi, 0x14
mov dword [ebp - 4], esi
cmp byte [ebp - 0x39], 0
je 0x440bbf
mov eax, dword [ebp + 0x24]
add eax, dword [ebp + 0x10]
movzx ecx, word [ebx + 0x18c57e]
mov dword [ebp + 0x24], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c592]
movzx ecx, word [ebx + 0x18c380]
push 1
shr edx, 1
sub eax, edx
movsx esi, byte [ebp - 0xc]
push edi
push eax
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c394]
movzx ecx, word [ebx + 0x18c182]
shr edx, 1
sub eax, edx
push eax
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c196]
movsx ecx, byte [0x5f9e07]
add ecx, dword [ebp - 0x10]
shr edx, 1
sub eax, edx
push eax
mov ecx, dword [ebx + ecx*4 + 0x14a908]
push esi
push dword [ebp + 0x24]
push dword [ebp + 0x14]
call fcn.0057ef00
cmp dword [ebp - 0x1c], 0xffffffff
je 0x440a69
movzx ecx, word [ebx + 0x18c57e]
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c592]
movzx ecx, word [ebx + 0x18c380]
push 1
shr edx, 1
sub eax, edx
push edi
push eax
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c394]
shr edx, 1
sub eax, edx
movzx edx, word [ebx + 0x18c182]
push eax
mov eax, 0xaaaaaaab
mul edx
movzx eax, word [ebx + 0x18c196]
shr edx, 1
sub eax, edx
push eax
mov eax, dword [ebp - 0x1c]
push esi
push dword [ebp + 0x24]
push dword [ebp + 0x14]
mov ecx, dword [ebx + eax*4 + 0x14a90c]
call fcn.0057ef00
cmp dword [ebp - 0x18], 0xffffffff
je 0x440bbf
movzx ecx, word [ebx + 0x18c57e]
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c592]
sub esi, 8
movzx ecx, word [ebx + 0x18c380]
push 1
shr edx, 1
sub eax, edx
push edi
push eax
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c394]
movzx ecx, word [ebx + 0x18c182]
shr edx, 1
sub eax, edx
push eax
mov eax, 0xaaaaaaab
mul ecx
movzx eax, word [ebx + 0x18c196]
shr edx, 1
sub eax, edx
push eax
movsx eax, byte [0x5f9e07]
lea eax, [esi + eax*8]
push eax
mov eax, dword [ebp - 0x18]
push dword [ebp + 0x24]
push dword [ebp + 0x14]
mov ecx, dword [ebx + eax*4 + 0x14a90c]
call fcn.0057ef00
jmp 0x440bbf
mov ecx, 0x5f9e24
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440af4
sub ecx, edx
je 0x440bbc
mov ax, word [0x5f9e04]
dec ax
cmp ax, 5
ja 0x440b6f
movsx eax, byte [0x5f9e06]
sub eax, 1
je 0x440b4e
sub eax, 1
je 0x440b4e
sub eax, 5
je 0x440b4e
push dword [0x5f9e1c]
mov eax, dword [ebp + 0x10]
mov ecx, ebx
push dword [0x5f9e18]
add eax, edi
push 0x5f9e24
push eax
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
push eax
call fcn.00441a00
jmp 0x440b97
push dword [0x5f9e1c]
mov esi, dword [ebp - 0x30]
mov ecx, ebx
push dword [0x5f9e18]
push 0x5f9e24
push dword [ebp - 0x38]
push esi
call fcn.00441a00
jmp 0x440b9a
push dword [0x5f9e1c]
movzx eax, word [0x5f9e04]
mov ecx, ebx
push dword [0x5f9e18]
push eax
mov eax, dword [ebp + 0x10]
add eax, edi
push eax
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
push eax
call fcn.0043d250
mov esi, dword [ebp - 0x30]
movzx eax, word [0x5f9e20]
mov ecx, ebx
push eax
push dword [0x5f9e18]
movzx eax, word [0x5f9e04]
push eax
call fcn.0043c8f0
mov edi, dword [ebp + 0x18]
jmp 0x440bc2
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp - 0x30]
mov ecx, dword [0x5f9e30]
test ecx, ecx
je case.0x440bfa.9
mov ecx, dword [ebx + ecx*4 + 0x184308]
test ecx, ecx
je 0x440c40
movzx eax, word [0x5f9e54]
cmp dword [ecx + 0x14], eax
jne 0x440c40
movsx eax, byte [0x5f9e06]
cmp eax, 0xa
ja case.0x440bfa.9
movzx eax, byte [eax + 0x441978]
jmp dword [eax*4 + 0x44196c]
mov word [ecx + 0xc], si
mov eax, dword [0x5f9e30]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebx + eax*4 + 0x184308]
mov word [eax + 0xe], cx
jmp case.0x440bfa.9
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
add eax, edx
mov esi, dword [ebp - 4]
mov word [ecx + 0xc], ax
mov eax, dword [0x5f9e30]
mov ecx, dword [ebp + 0x10]
add ecx, esi
mov eax, dword [ebx + eax*4 + 0x184308]
mov word [eax + 0xe], cx
jmp 0x440c70
cmp byte [0x5f9e06], 0x65
movzx eax, word [ebp + 8]
mov ecx, dword [ebp - 0xa4]
movzx edx, cx
mov ecx, dword [ebx + 0x1842ec]
push eax
push edx
je 0x440c65
call fcn.00569540
jmp case.0x440bfa.9
call fcn.005695e0
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 4]
movsx ecx, word [0x5f9e04]
sub ecx, 0x51
je 0x440e79
sub ecx, 0x10
je 0x440c8e
sub ecx, 1
jne case.default.0x440f6e
mov eax, 0x51eb851f
mov ecx, 9
mul edi
mov edi, dword [ebp - 8]
shr edx, 5
mov eax, edx
add edi, dword [ebp + 0xc]
cdq
idiv ecx
mov ecx, dword [ebp + 0x10]
mov eax, 0x55555556
mov esi, edx
mov dword [ebp + 0x24], edi
imul esi
push 0x64
mov eax, edx
mov dword [ebp + 0x14], esi
shr eax, 0x1f
add ecx, 0xffffffe2
add eax, edx
push eax
push dword [ebp + 0x18]
mov eax, esi
sar eax, 1
add eax, 0x14
push eax
mov eax, dword [ebp - 4]
add eax, ecx
mov ecx, dword [ebx + 0x1833c8]
push eax
push edi
call fcn.0057dd10
lea ecx, [esi + 1]
mov eax, 0x55555556
imul ecx
push 0x64
mov eax, edx
mov ebx, ecx
mov ecx, dword [ebp + 0x10]
shr eax, 0x1f
add ecx, 0xffffffc4
add eax, edx
sar ebx, 1
push eax
push dword [ebp + 0x18]
mov eax, dword [ebp - 4]
add ebx, 0x14
add eax, ecx
mov dword [ebp + 0xc], ebx
push ebx
push eax
mov eax, dword [ebp - 0x24]
push edi
mov ecx, dword [eax + 0x1833c8]
call fcn.0057dd10
lea ebx, [esi + 2]
mov eax, 0x55555556
mov esi, dword [ebp + 0x10]
imul ebx
mov eax, dword [ebp - 4]
mov edi, edx
add eax, 0xffffffa6
push 0x64
shr edi, 0x1f
add esi, eax
mov eax, dword [ebp + 0x24]
add edi, edx
push edi
push dword [ebp + 0x18]
add eax, 0xfffffff6
push dword [ebp + 0xc]
push esi
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1833c8]
call fcn.0057dd10
mov eax, dword [ebp + 0x24]
push 0x64
push edi
push dword [ebp + 0x18]
add eax, 0xa
push dword [ebp + 0xc]
push esi
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1833c8]
call fcn.0057dd10
mov ecx, dword [ebp + 0x14]
mov eax, 0x55555556
mov esi, dword [ebp + 0x10]
push 0x64
sar ebx, 1
lea ecx, [ecx + 3]
add ebx, 0x14
imul ecx
mov eax, dword [ebp - 4]
mov edi, edx
add eax, 0xffffff88
shr edi, 0x1f
add esi, eax
mov eax, dword [ebp + 0x24]
add edi, edx
push edi
push dword [ebp + 0x18]
add eax, 0xffffffec
push ebx
push esi
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1833c8]
call fcn.0057dd10
mov eax, dword [ebp + 0x24]
push 0x64
push edi
push dword [ebp + 0x18]
add eax, 0x14
push ebx
push esi
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1833c8]
call fcn.0057dd10
mov ecx, dword [ebp + 0x14]
mov eax, 0x55555556
mov esi, dword [ebp + 0x10]
push 0x64
lea ecx, [ecx + 4]
imul ecx
mov eax, dword [ebp - 4]
mov edi, edx
add eax, 0xffffff6a
shr edi, 0x1f
add esi, eax
mov eax, dword [ebp + 0x24]
add edi, edx
push edi
push dword [ebp + 0x18]
add eax, 0xfffffff6
push ebx
push esi
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1833c8]
call fcn.0057dd10
mov eax, dword [ebp - 0x24]
push 0x64
push edi
mov edi, dword [ebp + 0x18]
push edi
push ebx
push esi
mov esi, dword [ebp + 0x24]
lea ecx, [esi + 0xa]
push ecx
mov ecx, dword [eax + 0x1833c8]
call fcn.0057dd10
mov ebx, dword [ebp + 0x14]
mov eax, 0x55555556
push 0x64
lea ecx, [ebx + 5]
imul ecx
mov eax, edx
mov ecx, dword [ebp + 0x10]
shr eax, 0x1f
add ecx, 0xffffff4c
add eax, edx
push eax
lea eax, [ebx + 3]
mov ebx, dword [ebp - 0x24]
sar eax, 1
push edi
add eax, 0x14
push eax
mov eax, dword [ebp - 4]
add eax, ecx
mov ecx, dword [ebx + 0x1833c8]
push eax
push esi
call fcn.0057dd10
jmp case.default.0x440f6e
mov al, byte [0x5f9e06]
cmp al, 0xa
je case.default.0x440f6e
cmp al, 0x65
je 0x4411be
mov eax, 0x51eb851f
mov ecx, 0xc
mul edi
push dword [ebp + 0x18]
mov eax, edx
xor edx, edx
shr eax, 5
mov dword [ebp + 0x24], eax
div ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x1835b4]
add eax, esi
mov dword [ebp + 0x10], eax
mov edi, edx
push edi
lea esi, [eax - 0x32]
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
add eax, 0xffffffce
push esi
push eax
mov dword [ebp - 0xa4], eax
call fcn.0057ece0
push dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
add eax, 0xffffffb0
push edi
add ecx, 0xffffffec
push eax
mov dword [ebp + 0xc], ecx
push ecx
mov ecx, dword [ebx + 0x1835b8]
call fcn.0057ece0
push dword [ebp + 0x18]
mov ecx, dword [ebx + 0x1835bc]
push edi
push esi
mov esi, dword [ebp + 0x14]
lea eax, [esi + 0x46]
push eax
call fcn.0057ece0
mov ecx, dword [ebx + 0x1835c0]
lea eax, [esi - 0x1e]
mov esi, dword [ebp + 0x18]
push esi
push edi
push dword [ebp + 0x10]
mov dword [ebp + 8], eax
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x1835c4]
add eax, 0x5a
push esi
push edi
push eax
mov eax, dword [ebp + 0x14]
add eax, 0xffffffc4
push eax
call fcn.0057ece0
mov ecx, dword [ebx + 0x1835c8]
push esi
push edi
mov edi, dword [ebp + 0x10]
lea eax, [edi + 0x55]
push eax
mov eax, dword [ebp + 0x14]
add eax, 0x41
push eax
call fcn.0057ece0
movsx eax, byte [0x5f9e07]
dec eax
cmp eax, 7
ja case.default.0x440f6e
jmp dword [eax*4 + 0x441984]
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
push esi
push edx
lea ecx, [edi + 0x6e]
push ecx
push dword [ebp + 0x14]
mov ecx, dword [ebx + 0x1835b0]
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi + 0xa]
push esi
push edx
push eax
push dword [ebp - 0xa4]
call fcn.0057ece0
jmp case.default.0x440f6e
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
mov ecx, dword [ebx + 0x1835b0]
lea eax, [edi + 0x5f]
push esi
push edx
push eax
push dword [ebp + 0xc]
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi + 0xa]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0xffffffba
push eax
call fcn.0057ece0
jmp case.default.0x440f6e
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
mov ecx, dword [ebx + 0x1835b0]
lea eax, [edi + 0x69]
push esi
push edx
push eax
push dword [ebp + 8]
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi + 0xa]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0xffffffa6
push eax
call fcn.0057ece0
jmp case.default.0x440f6e
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
mov ecx, dword [ebx + 0x1835b0]
lea eax, [edi + 0x64]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0xffffffdd
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi + 0xa]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0xffffffb0
push eax
call fcn.0057ece0
jmp case.default.0x440f6e
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
mov ecx, dword [ebx + 0x1835b0]
lea eax, [edi + 0x5f]
push esi
push edx
push eax
push dword [ebp + 0x14]
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi - 5]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0xffffffbf
push eax
call fcn.0057ece0
jmp case.default.0x440f6e
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
mov ecx, dword [ebx + 0x1835b0]
lea eax, [edi + 0x5a]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0x2d
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi + 0xa]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0xffffffe7
push eax
call fcn.0057ece0
jmp case.default.0x440f6e
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
mov ecx, dword [ebx + 0x1835b0]
lea eax, [edi + 0x6e]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0x28
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi + 0xa]
push esi
push edx
push eax
push dword [ebp + 0xc]
call fcn.0057ece0
jmp case.default.0x440f6e
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0x1b
div ecx
mov ecx, dword [ebx + 0x1835b0]
lea eax, [edi + 0x6e]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
add eax, 0x14
push eax
call fcn.0057ece0
mov eax, dword [ebp + 0x24]
xor edx, edx
mov ecx, 0xf
div ecx
mov ecx, dword [ebx + 0x1835dc]
lea eax, [edi + 0xa]
push esi
push edx
push eax
push dword [ebp + 8]
call fcn.0057ece0
jmp case.default.0x440f6e
push dword [ebp + 0x10]
mov ecx, ebx
push edx
call fcn.00421800
mov eax, dword [ebp - 8]
mov dword [0x5f9e34], eax
mov eax, dword [ebp - 4]
mov dword [0x5f9e38], eax
movsx eax, byte [0x5f9e07]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebx + eax*4 + 0x14a908]
test ecx, ecx
je case.0x43e0e6.67
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
push edx
push eax
push edx
push eax
call fcn.00581400
pop edi
test al, al
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret 0x20
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x20