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

Disassembly:
mov dword [esp + 0x84], edi
cmp esi, 0xffffffff
je 0x431277
mov eax, dword [esp + 0x6c]
push 0xc
inc eax
mov dword [ebx + 0x64c], 0
push 0x50aae0
push ecx
mov dword [ebx + 0x250], eax
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x42f29c
push dword [esp + 0x10]
mov ecx, ebx
call fcn.00431860
test eax, eax
je 0x430173
mov byte [esp + 0x7c], 0
xor ebx, ebx
mov edx, dword [esp + 0x1c]
push dword [ebp + 8]
inc dword [esp + 0x70]
push ebx
push ecx
push edx
call fcn.00431510
mov edi, eax
mov dword [esp + 0x3c], edi
test edi, edi
je 0x42f36a
cmp edi, 0xffffffff
je 0x42f36a
test ebx, ebx
jne 0x42f36a
mov ecx, dword [esp + 0x1c]
push 2
push 0x50aafc
push ecx
call fcn.004d9d9e
mov edx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x42f341
cmp byte [esp + 0x2e], al
jne 0x42f305
cmp word [edx + 4], 0x3a
jne 0x42f305
cmp word [edx + 6], 0x3a
je 0x42f34c
lea eax, [edi*2 - 2]
mov byte [esp + 0x2e], 0
push eax
lea eax, [edx + 4]
push eax
push edx
call fcn.004cc730
mov ecx, dword [esp + 0x28]
lea edx, [edi - 2]
add esp, 0xc
call fcn.00429850
mov edx, dword [esp + 0x1c]
mov edi, eax
mov dword [esp + 0x3c], edi
cmp word [edx], 0
je 0x42f2a7
jmp 0x42f34c
cmp byte [esp + 0x2e], 0
jne 0x42f2a7
push 2
push 0x50aad8
push edx
call fcn.004d9d9e
add esp, 0xc
test eax, eax
jne 0x42f36a
mov byte [esp + 0x2e], 1
jmp 0x42f2a3
cmp byte [esp + 0x2e], 0
je 0x42f37f
cmp edi, 0xffffffff
je 0x42fad6
jmp 0x42f2a3
test ebx, ebx
jne 0x42f895
mov edx, dword [esp + 0x1c]
cmp edi, 0xffffffff
je 0x42f5b8
cmp word [edx], 0x28
jne 0x42f5b8
movzx eax, word [edx + 2]
lea esi, [edx + 2]
mov ecx, eax
cmp eax, 0x3a
je 0x42f5b4
cmp word [edx + edi*2 - 2], 0x3a
je 0x42f5b4
mov al, byte [0x51eb6e]
mov ebx, 1
mov byte [esp + 0x4c], al
mov eax, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x78], 0
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4d], 0
mov byte [esp + 0x4e], 0
mov byte [esp + 0x4f], bl
mov dword [esp + 0x98], 0xa
mov dword [esp + 0x70], ebx
nop dword [eax]
movzx eax, ax
cmp eax, 0x20
je 0x42f40d
cmp eax, 9
jne 0x42f416
movzx eax, word [esi + 2]
add esi, 2
jmp 0x42f400
test ax, ax
je 0x42f5a6
nop
mov ebx, esi
test esi, esi
je 0x42f461
movzx eax, word [esi]
test ax, ax
je 0x42f461
mov edi, eax
mov ecx, 0x506dbc
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x42f478
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42f440
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x42f430
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f466
sub ecx, edx
sar ecx, 1
lea ebx, [esi + ecx*2]
movzx edi, word [ebx]
xor eax, eax
push 4
push 0x50ab98
push esi
mov word [ebx], ax
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x42f4e8
push 0xf
lea eax, [esi + 8]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.004d95fc
add esp, 0xc
lea ecx, [esp + 0x98]
xor eax, eax
mov word [esp + 0xb6], ax
push 1
call fcn.004b1940
lea edx, [esp + 0x9c]
add esp, 4
lea ecx, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42f4d0
sub edx, ecx
sar edx, 1
mov dword [esp + 0x70], edx
jmp 0x42f576
push 5
push 0x50aba4
push esi
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x42f508
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x4c]
jmp 0x42f576
push 5
push 0x50abb0
push esi
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x42f528
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x4b]
jmp 0x42f576
movzx eax, word [esi]
test ax, ax
je 0x42f576
mov ecx, eax
movzx eax, cx
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x42f544.38
movzx eax, byte [eax + 0x431338]
jmp dword [eax*4 + 0x431320]
mov byte [esp + 0x4d], 1
jmp case.0x42f544.38
mov byte [esp + 0x4e], 1
jmp case.0x42f544.38
mov byte [esp + 0x4f], 0
jmp case.0x42f544.38
mov dword [esp + 0x50], 2
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
enter 0xffffffffffff8566, 0xffffffffffffffc0
enter 0xffffffffffff8566, 0xffffffffffffffc0
jne 0x42f532
mov word [ebx], di
mov esi, ebx
mov eax, edi
nop dword [eax]
cmp ax, 0x20
je 0x42f58c
cmp ax, 9
jne 0x42f595
movzx eax, word [esi + 2]
add esi, 2
jmp 0x42f580
test ax, ax
jne 0x42f420
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov byte [esp + 0x7c], 1
jmp 0x42f2a7
mov esi, dword [esp + 0x30]
xor ebx, ebx
cmp edi, 0xffffffff
je 0x42fad6
test edi, edi
je 0x42f2a7
cmp word [edx + edi*2 - 2], 0x3a
jne 0x42f5dd
cmp word [edx], 0x2c
jne 0x42fad6
movzx esi, word [edx]
test esi, 0xffffff80
je 0x42f5ec
xor ecx, ecx
jmp 0x42f5fd
push 2
push esi
call fcn.004d4154
mov edx, dword [esp + 0x24]
add esp, 8
mov ecx, eax
mov eax, esi
and eax, 0xffffffdf
test ecx, ecx
cmove eax, esi
cmp eax, 0x41
je 0x42f850
cmp eax, 0x4f
je 0x42f7cd
movzx eax, word [edx]
cmp eax, 0x3a
je 0x42f62b
cmp eax, 0x2b
je 0x42f62b
cmp eax, 0x2d
jne 0x42f635
cmp word [edx + 2], ax
je 0x42fad6
push eax
push 0x50ab20
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x42fad6
mov esi, dword [esp + 0x1c]
push 0x50ab44
push esi
call fcn.004cc1fb
mov edi, eax
add esp, 8
test edi, edi
je 0x42f721
cmp word [esi], 0x3a
jne 0x42f6d3
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x42f6c5
mov ecx, eax
nop dword [eax + eax]
cmp cx, 0x3a
je 0x42f6c5
movzx eax, cx
test eax, 0xffffff80
jne 0x42f6a2
push 0x107
push eax
call fcn.004d4154
add esp, 8
test eax, eax
jne 0x42f6b7
movzx eax, word [esi]
push eax
push 0x50ab4c
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x42f6cf
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x42f680
cmp word [esi], 0x3a
je 0x42fad6
mov esi, dword [esp + 0x1c]
cmp word [esi], 0x2c
jne 0x42f773
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x42f6dd
cmp eax, 9
je 0x42f6dd
push 2
push 0x50ab44
push esi
call fcn.004d9d9e
add esp, 0xc
test eax, eax
je 0x42fad6
push 3
lea eax, [esi - 2]
push 0x506dac
push eax
call fcn.004d9d9e
add esp, 0xc
test eax, eax
je 0x42fad6
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x4310f5
mov ecx, dword [esp + 0x1c]
cmp word [ecx], 0x2c
je 0x42f74f
mov eax, dword [esp + 0x10]
mov edx, 0x20
mov word [eax + esi*2], dx
inc esi
lea eax, [edi*2 + 2]
push eax
mov eax, dword [esp + 0x14]
push ecx
lea eax, [eax + esi*2]
push eax
call fcn.004cc730
add esp, 0xc
add esi, edi
mov dword [esp + 0x30], esi
jmp 0x42f2a3
mov eax, esi
cmp esi, edi
jae 0x42f78d
nop dword [eax]
cmp word [eax], 0x22
je 0x42f795
add eax, 2
cmp eax, edi
jb 0x42f780
cmp eax, edi
je 0x42fad6
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x42fad6
mov edx, eax
nop word [eax + eax]
cmp dx, 0x22
je 0x42f721
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42f7b0
jmp 0x42fad6
movzx eax, word [edx + 2]
mov esi, eax
test eax, 0xffffff80
je 0x42f7de
xor edx, edx
jmp 0x42f7eb
push 2
push eax
call fcn.004d4154
add esp, 8
mov edx, eax
mov eax, esi
and eax, 0xffdf
test edx, edx
movzx ecx, ax
mov eax, esi
cmove ecx, eax
cmp cx, 0x52
jne 0x42fad6
mov ecx, dword [esp + 0x1c]
add ecx, 4
movzx eax, word [ecx]
cmp eax, 0x20
je 0x42f820
cmp eax, 9
jne 0x42fad6
nop
cmp ax, 0x20
je 0x42f82c
cmp ax, 9
jne 0x42f835
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x42f820
push eax
push 0x50ab0c
call fcn.004cbd94
add esp, 8
test eax, eax
jne 0x42fad6
jmp 0x42f725
push 3
push 0x50ab04
push edx
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x42fad6
mov ecx, dword [esp + 0x1c]
add ecx, 6
movzx eax, word [ecx]
cmp eax, 0x20
je 0x42f880
cmp eax, 9
jne 0x42fad6
cmp ax, 0x20
je 0x42f88c
cmp ax, 9
jne 0x42f835
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x42f880
cmp edi, 0xffffffff
je 0x43125c
mov edx, dword [esp + 0x1c]
cmp edi, 0xfffffffe
je 0x42f2a7
mov edi, edx
cmp word [edi], 0x29
jne 0x42f91d
xor ebx, ebx
lea ecx, [edx + 2]
nop dword [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42f8c0
sub edx, ecx
lea eax, [edi - 2]
sar edx, 1
lea eax, [eax + edx*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x42f8e2
cmp ecx, 9
jne 0x42f8ec
cmp eax, edi
je 0x42f8ff
sub eax, 2
dec edx
jmp 0x42f8d5
xor ecx, ecx
add edi, 2
dec edx
mov word [eax + 2], cx
mov dword [esp + 0x3c], edx
jmp 0x42fa4d
cmp ecx, 0x20
je 0x42f909
cmp ecx, 9
jne 0x42f910
xor ecx, ecx
xor edx, edx
mov word [eax], cx
add edi, 2
dec edx
mov dword [esp + 0x3c], edx
jmp 0x42fa4d
cmp byte [esp + 0x4b], 0
mov esi, dword [esp + 0x1c]
je 0x42f939
mov edx, dword [esp + 0x3c]
mov ecx, esi
call fcn.004298c0
mov dword [esp + 0x3c], eax
jmp 0x42f93d
mov eax, dword [esp + 0x3c]
cmp byte [esp + 0x4c], 0
je 0x42f951
mov edx, eax
mov ecx, esi
call fcn.00429850
mov dword [esp + 0x3c], eax
xor esi, esi
cmp byte [esp + 0x4d], 0
je 0x42f991
mov ax, word [0x51cbd8]
lea edx, [esp + 0x60]
mov ecx, dword [esp + 0x1c]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x70], ax
mov word [esp + 0x74], ax
mov word [esp + 0x76], ax
lea eax, [esp + 0x74]
push 1
push eax
call fcn.004aff30
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x4e], 0
je 0x42f9d8
mov ax, word [0x51cbd8]
lea edx, [esp + 0x60]
mov cx, word [0x51cbdc]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x74], ax
lea eax, [esp + 0x74]
mov word [esp + 0x70], cx
mov word [esp + 0x76], cx
mov ecx, dword [esp + 0x2c]
push 1
push eax
call fcn.004aff30
add esp, 0x18
add esi, eax
cmp byte [esp + 0x4f], 0
je 0x42fa1f
mov ax, word [0x51cbd8]
lea edx, [esp + 0x60]
mov cx, word [0x51cbe0]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x74], ax
lea eax, [esp + 0x74]
mov word [esp + 0x70], cx
mov word [esp + 0x76], cx
mov ecx, dword [esp + 0x2c]
push 1
push eax
call fcn.004aff30
add esp, 0x18
add esi, eax
test esi, esi
je 0x42fa45
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 2]
nop word [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42fa30
sub edx, ecx
sar edx, 1
mov dword [esp + 0x3c], edx
jmp 0x42fa49
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + edx]
add eax, esi
cmp eax, 0x4001
jae 0x431244
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 1
jle 0x42faa5
test ecx, ecx
je 0x42faa5
cmp edi, dword [esp + 0x1c]
jne 0x42faa5
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x18]
lea eax, [eax + esi*2]
push eax
call fcn.004cc730
mov edx, dword [esp + 0x48]
add esp, 0xc
add esi, dword [esp + 0x70]
mov dword [esp + 0x30], esi
test edx, edx
je 0x42f2a3
lea eax, [edx*2 + 2]
push eax
mov eax, dword [esp + 0x14]
push edi
lea eax, [eax + esi*2]
push eax
call fcn.004cc730
add esp, 0xc
add esi, dword [esp + 0x3c]
mov dword [esp + 0x30], esi
jmp 0x42f2a3
mov word [ebx], di
mov ebx, dword [esp + 0x30]
nop word [eax + eax]
test ebx, ebx
je 0x430275
cmp word [esp + 0x2178], 0
mov ebx, dword [esp + 0x18]
je 0x42fc97
mov eax, dword [esp + 0x28]
mov esi, dword [ebx + 0x250]
mov dword [ebx + 0x250], eax
mov eax, dword [esp + 0x10]
cmp word [eax], 0x7b
je 0x42fb7b
cmp byte [esp + 0xf], 0
jne 0x42fb7b
cmp dword [esp + 0x44], 0
jne 0x43113d
cmp dword [ebx + 0x28], 0
je 0x42fb3f
mov eax, dword [0x51b98c]
cmp dword [eax + 0xb4], 0
je 0x431110
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x2190]
mov ecx, ebx
push eax
call fcn.004333e0
test eax, eax
je 0x430173
xor eax, eax
mov dword [ebx + 0x64c], 0
mov word [esp + 0x2178], ax
jmp 0x42fc91
mov edi, dword [esp + 0x44]
mov eax, edi
sub eax, 0
je 0x42fbc8
sub eax, 1
je 0x42fba5
sub eax, 1
jne 0x42fc2d
lea eax, [esp + 0x2178]
mov ecx, ebx
push eax
call fcn.0043b8f0
jmp 0x42fbb4
lea eax, [esp + 0x2178]
mov ecx, ebx
push eax
call fcn.0043b0c0
test eax, eax
je 0x430173
xor eax, eax
mov word [esp + 0x2178], ax
jmp 0x42fc3b
mov eax, dword [0x51b98c]
mov ecx, ebx
cmp dword [eax + 0xb4], 0
jne 0x43115a
lea eax, [esp + 0x238]
push eax
lea eax, [esp + 0x217c]
push eax
call fcn.0043a5d0
test eax, eax
je 0x430173
cmp byte [esp + 0xf], 0
je 0x42fc2d
push 0
push 0
push 0
push 0x77
mov ecx, ebx
call fcn.00435b40
test eax, eax
je 0x430173
xor eax, eax
mov dword [ebx + 0x64c], 0
mov word [esp + 0x2178], ax
jmp 0x42fc91
xor eax, eax
mov word [esp + 0x2178], ax
test edi, edi
je 0x42fc91
cmp byte [esp + 0xf], 0
jne 0x42fc91
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x20
je 0x42fc46
cmp eax, 9
je 0x42fc46
test ax, ax
je 0x43026f
mov ebx, ecx
lea edx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x42fc65
sub ebx, edx
sar ebx, 1
mov dword [esp + 0x30], ebx
lea eax, [ebx*2 + 2]
push eax
push ecx
push dword [esp + 0x18]
call fcn.004cc730
mov ebx, dword [esp + 0x24]
add esp, 0xc
mov dword [ebx + 0x250], esi
mov eax, dword [esp + 0x10]
movzx ecx, word [eax]
cmp ecx, 0x7d
jne 0x42fde3
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x42fde3
mov eax, dword [0x51b98c]
cmp dword [eax + 0xb4], 0
jne 0x42fde3
cmp dword [ebx + 0x244], 0
je 0x42fd42
mov eax, dword [ebx + 0x248]
mov dword [ebx + 0x244], 0
test eax, eax
je 0x42fcf4
push eax
call fcn.004cfed0
add esp, 4
mov dword [ebx + 0x248], 0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42fcfc
cmp eax, 9
je 0x42fcfc
mov dword [esp + 0x10], ebx
cmp word [ebx], 0
je 0x430275
lea ecx, [ebx + 2]
nop
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x42fd20
sub ebx, ecx
mov dword [edi + 0x64c], 0
sar ebx, 1
mov dword [esp + 0x30], ebx
jmp 0x42fae0
lea eax, [edx - 1]
mov dword [ebx + 0x28], eax
mov ebx, dword [ebx + eax*4 + 0x2c]
mov esi, dword [ebx + 0x10]
sub esi, 1
js 0x42fdaf
mov edi, esi
shl edi, 4
nop dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [eax + edi + 0xc], 1
jne 0x42fd9e
cmp esi, dword [ebx + 0x1c]
jl 0x42fd7b
push dword [eax + edi + 8]
call fcn.004cfed0
add esp, 4
mov edx, dword [ebx + 0x10]
dec edx
mov dword [ebx + 0x10], edx
cmp esi, edx
jge 0x42fd9e
mov ecx, dword [ebx + 0xc]
sub edx, esi
add ecx, edi
shl edx, 4
push edx
lea eax, [ecx + 0x10]
push eax
push ecx
call fcn.004cc730
add esp, 0xc
sub edi, 0x10
sub esi, 1
jns 0x42fd60
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x28]
jmp 0x42fdb3
mov edi, dword [esp + 0x18]
mov eax, dword [edi + eax*4 + 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [edi + 0x40]
push 0x2e
push esi
call fcn.004cbcce
add esp, 8
test eax, eax
je 0x42fdd9
xor ecx, ecx
mov word [eax], cx
jmp 0x42fcf8
xor eax, eax
mov word [esi], ax
jmp 0x42fcf8
cmp dword [ebx + 0x244], 0
je 0x42fed5
mov eax, dword [0x51b98c]
cmp dword [eax + 0xb4], 0
jne 0x42fed5
push 3
push 0x50ac9c
push dword [esp + 0x18]
call fcn.004cff45
add esp, 0xc
test eax, eax
je 0x42fe34
push 3
push 0x50aca4
push dword [esp + 0x18]
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x431175
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 6]
nop dword [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x42fe4d
cmp eax, 9
jne 0x42fe52
add esi, 2
jmp 0x42fe40
test ax, ax
je 0x42fe6b
cmp eax, 0x7b
jne 0x431179
cmp word [esi + 2], 0
jne 0x431179
mov ecx, dword [ebx + 0x248]
lea edx, [esp + 0x2178]
sub edx, ecx
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x42fe80
lea eax, [esp + 0x2178]
push 0x2e
push eax
call fcn.004cbd94
mov edx, dword [esp + 0x2c]
mov ecx, eax
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x44], 0
mov ax, word [eax]
mov word [ecx + 2], ax
cmp word [esi], 0x7b
mov ecx, dword [ebx + 0x250]
sete bl
mov dword [esp + 0x28], ecx
mov byte [esp + 0xf], bl
jmp 0x430281
mov edi, dword [esp + 0x10]
mov dword [esp + 0x50], edi
test cx, cx
je 0x430004
mov esi, ecx
nop dword [eax + eax]
mov ecx, 0x50a9a8
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x42ff26
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42ff00
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x42fef0
jmp 0x430004
cmp word [edi], 0x28
jne 0x430004
mov esi, dword [esp + 0x10]
cmp edi, esi
je 0x430004
mov ebx, edi
mov edx, 0x50a9e4
sub ebx, esi
mov ecx, esi
sar ebx, 1
push 0xffffffffffffffff
push ebx
call fcn.004af7f0
add esp, 8
test eax, eax
je 0x430000
push 0xffffffffffffffff
push ebx
mov ebx, dword [esp + 0x58]
mov edx, 0x50a9ec
mov ecx, ebx
call fcn.004af7f0
add esp, 8
test eax, eax
je 0x430000
cmp word [edi + 2], 0x3a
je 0x430000
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42ff86
sub ecx, edx
sar ecx, 1
dec ecx
movzx eax, word [edi + ecx*2]
lea edx, [edi + ecx*2]
cmp eax, 0x7b
mov ecx, eax
sete byte [esp + 0xf]
jne 0x42ffbe
xor eax, eax
mov ecx, ebx
mov word [edx], ax
sub edx, ebx
sar edx, 1
call fcn.004298c0
movzx ecx, word [ebx + eax*2 - 2]
cmp cx, 0x29
jne 0x430000
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x2178]
sub ecx, esi
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x42ffd1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x44], 0
mov ecx, dword [ecx + 0x250]
mov dword [esp + 0x28], ecx
jmp 0x43027d
mov ebx, dword [esp + 0x18]
mov eax, dword [0x51b98c]
cmp dword [eax + 0xb4], 0
jne 0x43052a
mov esi, dword [esp + 0x10]
push 5
push 0x50a9f8
push esi
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x4300db
movzx eax, word [esi + 0xa]
cmp eax, 0x20
je 0x430044
cmp eax, 9
jne 0x4300db
lea edi, [esi + 0xc]
movzx eax, word [edi]
cmp eax, 0x20
je 0x430054
cmp eax, 9
jne 0x430059
add edi, 2
jmp 0x430047
push eax
push 0x50a9a8
call fcn.004cbd94
add esp, 8
test eax, eax
jne 0x4300db
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430070
sub ecx, edx
sar ecx, 1
lea edx, [ecx - 1]
movzx eax, word [edi + edx*2]
lea edx, [edi + edx*2]
cmp eax, 0x7b
sete byte [esp + 0xf]
jne 0x4300a3
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.004298c0
lea ecx, [esp + 0x2178]
sub ecx, edi
nop dword [eax]
movzx eax, word [edi]
lea edi, [edi + 2]
mov word [edi + ecx - 2], ax
test ax, ax
jne 0x4300b0
mov ecx, dword [ebx + 0x250]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], 1
jmp 0x43027d
cmp dword [ebx + 0x28], 0
je 0x43052a
mov esi, dword [esp + 0x10]
nop dword [eax]
movzx eax, word [esi]
mov ecx, eax
test ecx, 0xffffff80
je 0x4300ff
jmp 0x430114
push 0x107
push ecx
call fcn.004d4154
movzx ecx, word [esi]
add esp, 8
test eax, eax
jne 0x430126
cmp cx, 0x5f
je 0x430126
cmp cx, 0x7f
ja 0x430126
cmp cx, 0x2e
jne 0x43012b
add esi, 2
jmp 0x4300f0
cmp esi, dword [esp + 0x10]
jbe 0x430208
movzx eax, cx
cmp ax, 0x20
je 0x430144
cmp ax, 9
jne 0x43014d
movzx eax, word [esi + 2]
add esi, 2
jmp 0x430138
cmp ax, 0x3a
jne 0x43017e
cmp word [esi + 2], 0x3d
jne 0x430208
push 0
push dword [esp + 0x14]
mov ecx, ebx
call fcn.0043bb60
test eax, eax
jne 0x430275
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test ax, ax
je 0x430196
cmp ax, 0x5b
je 0x430196
cmp ax, 0x7b
jne 0x430208
cmp word [esi + 2], 0
jne 0x430208
mov edx, dword [esp + 0x10]
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4301a0
mov esi, dword [esp + 0x10]
sub edx, ecx
sar edx, 1
movzx eax, word [esi + edx*2 - 2]
cmp eax, 0x7b
sete byte [esp + 0xf]
jne 0x4301ca
dec edx
mov ecx, esi
call fcn.004298c0
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x2178]
sub ecx, esi
nop word [eax + eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x4301e0
mov ecx, dword [ebx + 0x250]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], 2
jmp 0x43027d
push 6
push 0x504544
push dword [esp + 0x18]
call fcn.004cff45
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x43023c
movzx ecx, word [eax + 0xc]
cmp ecx, 0x20
je 0x430231
cmp ecx, 9
jne 0x43023c
push 1
add eax, 0xe
push eax
jmp 0x430164
cmp word [eax], 0x23
jne 0x431193
mov esi, dword [ebx + 0x250]
mov ecx, ebx
push eax
call fcn.00431860
test eax, eax
je 0x430173
cmp eax, 3
jne 0x43118f
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x24c], eax
mov dword [ebx + 0x250], esi
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov bl, byte [esp + 0xf]
mov bh, byte [esp + 0xe]
mov eax, edx
test bh, bh
je case.0x430352.4
mov esi, dword [esp + 0x5c]
inc edx
mov dword [esp + 0x24], edx
mov edi, ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
mov ch, bl
mov cl, byte [esp + 0x17]
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x54], edx
mov dword [esp + 0x34], edx
mov dh, cl
mov byte [esp + 0x17], cl
mov cl, byte [esp + 0x21]
mov byte [esp + 0xf], bl
mov bl, cl
mov byte [esp + 0x21], cl
mov cl, byte [esp + 0x22]
mov byte [esp + 0x22], cl
mov dl, cl
mov cl, byte [esp + 0x23]
mov byte [esp + 0xe], bh
mov byte [esp + 0x3a], ch
mov byte [esp + 0x3b], dh
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], esi
mov byte [esp + 0x2f], dl
mov byte [esp + 0x23], cl
mov byte [esp + 0x39], cl
cmp eax, 9
ja case.0x430352.4
mov esi, dword [esp + 0x40]
movzx eax, byte [eax + 0x43138c]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x34]
mov byte [esp + 0xf], ch
mov ch, bl
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x50]
mov byte [esp + 0x21], ch
mov ch, dl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x30]
mov byte [esp + 0xe], bh
mov dword [esp + 0x28], edi
mov byte [esp + 0x17], dh
mov byte [esp + 0x22], ch
mov byte [esp + 0x23], cl
mov dword [esp + 0x24], esi
jmp dword [eax*4 + 0x431378]
mov eax, dword [esp + 0x10]
test dl, dl
mov ecx, dword [0x506900]
mov esi, dword [esp + 0x18]
push 0
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov cx, word [0x506904]
push 1
mov word [eax + 4], cx
lea eax, [esp + 0x18]
push eax
setne al
mov ecx, esi
add al, 0xc5
movzx eax, al
push eax
call fcn.00435b40
cmp byte [esp + 0x39], 0
je 0x43040b
lea eax, [esp + 0xb8]
push eax
push 0x50afa4
push dword [esp + 0x18]
call fcn.00406670
mov cl, byte [esp + 0x47]
mov ch, bl
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x46]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x23], cl
mov cl, byte [esp + 0x45]
mov byte [esp + 0x2d], ch
mov ch, byte [esp + 0x3b]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x30], 9
mov byte [esp + 0x1a], bh
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], eax
mov byte [esp + 0x2e], ch
mov byte [esp + 0x2f], cl
jmp 0x430527
mov esi, dword [esp + 0x18]
movzx eax, bh
mov ecx, 0x4f03e8
sub eax, 0x12
je 0x430424
sub eax, 0x92
je 0x430424
sub eax, 1
jne 0x430444
movzx eax, bl
sub eax, 0x11
je 0x43043f
sub eax, 0x91
je 0x43043f
sub eax, 1
jne 0x430444
mov ecx, 0x50aff0
jmp 0x430444
mov ecx, 0x50afd8
lea eax, [esp + 0xb8]
mov dword [esi + 0x64c], 0
push eax
lea eax, [esp + 0x8c]
push eax
push ecx
push 0x50b008
push dword [esp + 0x20]
call fcn.00406670
add esp, 0x14
lea eax, [esp + 0x10]
mov ecx, esi
push 0
push 1
push eax
push 0x41
call fcn.00435b40
test eax, eax
je 0x430173
push 0
push 0
push 0
push 0x67
mov ecx, esi
call fcn.00435b40
lea eax, [esp + 0xf8]
mov dword [esi + 0x64c], 0
push eax
push 0x50b034
push dword [esp + 0x18]
call fcn.00406670
mov cl, byte [esp + 0x45]
mov ch, bl
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x46]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x47]
mov byte [esp + 0x2d], ch
mov ch, byte [esp + 0x3b]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x30], 2
mov byte [esp + 0x1a], bh
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x68], eax
mov byte [esp + 0x2e], ch
mov byte [esp + 0x2f], cl
jmp 0x430527
lea eax, [esp + 0xf8]
push eax
push 0x50af98
push dword [esp + 0x18]
call fcn.00406670
mov dword [esp + 0x3c], eax
add esp, 0xc
mov esi, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], edi
cmp word [esi], 0x3a
jne 0x43070b
movzx eax, word [esi + 2]
test ax, ax
je 0x43070b
lea ecx, [esi + 2]
mov dword [esp + 0x54], ecx
cmp eax, 0x3a
je 0x430586
push 0x3a
push ecx
call fcn.004cbd94
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x430579
mov dword [esp + 0x40], edi
jmp 0x43070b
mov ecx, dword [esp + 0x54]
add ebx, 2
mov dword [esp + 0x40], ebx
jmp 0x43059c
mov eax, dword [esp + 0x10]
add eax, 4
cmp word [eax], di
je 0x43070b
mov ebx, eax
mov dword [esp + 0x40], eax
test ebx, ebx
je 0x43070b
mov al, byte [0x51eae8]
mov esi, ecx
mov byte [esp + 0x17], al
cmp ecx, ebx
jae 0x4305fd
movzx eax, word [esi]
mov edi, eax
test eax, 0xffffff80
je 0x4305c3
xor edx, edx
jmp 0x4305d0
push 2
push eax
call fcn.004d4154
add esp, 8
mov edx, eax
mov eax, edi
add esi, 2
and eax, 0xffdf
test edx, edx
movzx ecx, ax
mov eax, edi
cmove ecx, eax
cmp cx, 0x58
je 0x4305f0
cmp esi, ebx
jb 0x4305b3
jmp 0x4305f9
cmp word [esi], 0x30
setne byte [esp + 0x17]
mov edi, dword [esp + 0x34]
mov esi, ebx
nop
movzx eax, word [esi]
mov ebx, edi
mov edx, eax
test ax, ax
je 0x430635
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x51cbd8]
je 0x430635
movzx edx, cx
cmp cx, 0x3a
je 0x430635
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x430610
mov ecx, esi
test dx, dx
je 0x4306ff
movzx eax, word [esi + 2]
lea edi, [esi + 2]
cmp dx, 0x3a
jne 0x430674
cmp eax, 0x3a
jne 0x430663
cmp byte [esp + 0x17], 0
mov dword [esp + 0x34], esi
mov esi, edi
jne 0x4306fb
cmp eax, 0x3a
mov edi, ecx
cmovne edi, ebx
add esi, 2
mov dword [esp + 0x34], edi
jmp 0x430600
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x430683.99
movzx eax, byte [eax + 0x4313b8]
jmp dword [eax*4 + 0x431398]
mov eax, 7
jmp 0x4306b9
mov eax, 8
jmp 0x4306b9
mov eax, 0xc
jmp 0x4306b9
mov eax, 0xa
jmp 0x4306b9
mov eax, 0xd
jmp 0x4306b9
mov eax, 9
jmp 0x4306b9
mov eax, 0xb
mov word [edi], ax
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4306c1
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edi
push esi
call fcn.004cc730
add esp, 0xc
cmp word [esi], 0x3a
jne 0x4306ef
cmp word [edi], 0x3a
cmove esi, edi
mov edi, dword [esp + 0x34]
add esi, 2
jmp 0x430600
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x4307a8
mov dword [esp + 0x40], edi
push 0x50ab44
push dword [esp + 0x14]
call fcn.004cc1fb
add esp, 8
mov dword [esp + 0x34], eax
test eax, eax
je 0x430e43
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jne 0x43073e
cmp word [eax + 4], 0x3a
jne 0x43073e
add eax, 2
mov dword [esp + 0x34], eax
mov esi, eax
cmp eax, ecx
jbe 0x430758
movzx eax, word [esi]
cmp eax, 0x20
je 0x430751
cmp eax, 9
jne 0x430758
sub esi, 2
cmp esi, ecx
ja 0x430744
movzx edi, word [esi]
xor eax, eax
mov word [esi], ax
mov ebx, edi
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x430773
cmp eax, 9
jne 0x430778
add ecx, 2
jmp 0x430766
push 0
xor edx, edx
call fcn.004163e0
add esp, 4
mov dword [esp + 0x5c], eax
test eax, eax
je 0x430e40
cmp eax, 4
je 0x430173
mov word [esi], di
mov edi, dword [esp + 0x34]
test edi, edi
je 0x430e43
mov edx, dword [esp + 0x10]
cmp edi, edx
jbe 0x430e47
mov eax, dword [0x51b98c]
mov ecx, dword [esp + 0x18]
cmp dword [eax + 0xb4], 0
jne 0x431218
mov eax, dword [ecx + 0x614]
test eax, eax
je 0x4307dd
cmp byte [eax], 0x1a
je 0x4311a9
mov ebx, dword [esp + 0x40]
xor eax, eax
mov word [edi], ax
add edi, 4
mov dword [esp + 0x34], edi
test ebx, ebx
jne 0x430ab5
movzx eax, word [edi]
test ax, ax
je 0x430844
mov edx, edi
nop
cmp ax, 0x20
je 0x43080c
cmp ax, 9
jne 0x430815
movzx eax, word [edx + 2]
add edx, 2
jmp 0x430800
mov eax, edx
sub eax, edi
cmp eax, 2
jb 0x430844
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430823
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push edi
call fcn.004cc730
add esp, 0xc
mov ebx, dword [esp + 0x34]
cmp word [ebx], 0
je 0x430aad
cmp word [ebx + 2], 0
je 0x430891
push 0
call dword [0x4eb68c]
push 0
xor edx, edx
mov ecx, ebx
mov esi, eax
call fcn.00416520
add esp, 4
mov edi, eax
xor edx, edx
push esi
push ecx
push 0
mov ecx, edi
call fcn.0041e390
add esp, 0xc
mov byte [esp + 0xe], al
test al, al
je 0x430aad
jmp 0x430896
mov byte [esp + 0xe], 0xff
push 0
call dword [0x4eb68c]
mov ecx, dword [esp + 0x10]
xor edx, edx
push 0
mov esi, eax
call fcn.00416520
add esp, 4
mov ebx, eax
xor edx, edx
push esi
push ecx
push 0
mov ecx, ebx
call fcn.0041e390
add esp, 0xc
mov byte [esp + 0x21], al
push 0x506dac
push ebx
call fcn.004cc1fb
add esp, 8
test eax, eax
mov al, byte [esp + 0x21]
setne byte [esp + 0x2f]
mov cl, al
dec cl
cmp cl, 5
ja 0x4308ec
cmp al, 3
jne 0x4308f2
add al, 0x66
cmp al, 5
ja 0x4308f6
mov cl, 1
jmp 0x4308f8
xor cl, cl
mov dl, byte [esp + 0xe]
mov al, dl
dec al
cmp al, 5
ja 0x430909
cmp dl, 3
jne 0x430911
mov al, dl
add al, 0x66
cmp al, 5
ja 0x430915
mov al, 1
jmp 0x430917
xor al, al
mov byte [esp + 0x22], al
test cl, cl
jne 0x430928
mov byte [esp + 0x23], 1
test al, al
jne 0x43092d
mov byte [esp + 0x23], 0
mov esi, dword [esp + 0x10]
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430936
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x43095d
movzx eax, word [ebx]
push eax
call dword [0x4eb680]
test eax, eax
mov eax, 0x50ad94
jne 0x430962
mov eax, 0x4f03e8
cmp byte [esp + 0x2f], 0
mov ecx, 0x50a9a4
push esi
push eax
mov eax, 0x4f03e8
cmove eax, ecx
push eax
push 0x50ad98
lea eax, [esp + 0x108]
push 0x20
push eax
call fcn.004af740
push 0x1f
lea eax, [esp + 0xd4]
push edi
push eax
call fcn.004d95fc
mov esi, dword [esp + 0x58]
add esp, 0x24
xor eax, eax
mov word [esp + 0xf6], ax
lea eax, [esp + 0x88]
push 7
push esi
push eax
call fcn.004d95fc
sub edi, esi
xor eax, eax
sar edi, 1
add esp, 0xc
mov word [esp + 0x96], ax
cmp edi, 8
jae 0x4309da
mov word [esp + edi*2 + 0x88], ax
xor edx, edx
mov dword [esp + 0x24], edx
cmp word [esp + 0x88], dx
jne 0x430f7b
mov bh, byte [esp + 0xe]
cmp bh, 0xd
jne 0x430a21
lea eax, [esp + 0xb8]
push 0x504c58
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x430aa8
mov dword [esp + 0x24], 1
jmp case.0x430352.0
cmp bh, 0x13
jne 0x430f7f
mov ax, word [esp + 0xb8]
movzx esi, ax
test esi, 0xffffff80
je 0x430a41
xor edi, edi
jmp 0x430a56
push 2
push esi
call fcn.004d4154
mov edi, eax
add esp, 8
mov ax, word [esp + 0xb8]
mov edx, esi
mov ecx, esi
and ecx, 0xffdf
test edi, edi
movzx esi, cx
mov ecx, edx
cmove esi, ecx
cmp si, 0x50
je 0x430aa8
movzx esi, ax
test esi, 0xffffff80
je 0x430a7f
xor eax, eax
jmp 0x430a8a
push 2
push esi
call fcn.004d4154
add esp, 8
mov edx, esi
mov ecx, esi
and ecx, 0xffdf
test eax, eax
movzx esi, cx
mov ecx, edx
cmove esi, ecx
cmp si, 0x42
jne 0x430e2f
mov byte [esp + 0xe], 0
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x254], 0
je 0x430afa
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x254], 0
call fcn.00435b40
test eax, eax
je 0x430173
mov eax, dword [esi + 0x614]
mov dword [eax + 0xc], 1
mov dword [esi + 0x64c], 0
push 1
push dword [esp + 0x14]
mov ecx, esi
call fcn.00433290
test eax, eax
je 0x430173
test ebx, ebx
je 0x430c18
cmp word [ebx], 0
je 0x4311c3
mov edx, dword [esi + 0x624]
mov eax, 0x4f03e8
cmp byte [esp + 0x17], 0
push 0
push dword [esp + 0x80]
mov ecx, dword [edx + 4]
cmove eax, edi
push eax
push ebx
push ecx
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x68]
call fcn.00417260
add esp, 0x14
test eax, eax
je 0x430173
movzx eax, word [edi]
test ax, ax
je 0x430f77
cmp byte [esp + 0x17], 0
je 0x430bed
mov ecx, edi
cmp ax, 0x20
je 0x430b80
cmp ax, 9
jne 0x430b89
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x430b74
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ebx, esi
mov ecx, ebx
call fcn.004333e0
test eax, eax
je 0x430173
mov eax, dword [ebx + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x430bb7
cmp al, 0x20
jbe 0x430bcb
cmp al, 0x21
je 0x430bcb
cmp al, 0x69
jb 0x430bc3
cmp al, 0x6b
jbe 0x430bcb
cmp al, 0x71
jb 0x430bef
cmp al, 0x73
ja 0x430bef
mov eax, 0x3a
mov ecx, ebx
mov word [edi - 4], ax
push dword [esp + 0x10]
push 0x50ae00
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ebx, esi
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.00435b40
test eax, eax
je 0x430173
mov eax, dword [ebx + 0x614]
mov dword [eax + 0xc], 1
jmp 0x430275
xor esi, esi
cmp word [edi], si
je 0x430d2f
push 0x506908
push edi
call fcn.004ce516
add esp, 8
test eax, eax
jne 0x430c43
mov ebx, dword [esp + 0x18]
mov esi, 0x7ffe
jmp 0x430d09
push 0x506918
push edi
call fcn.004ce516
add esp, 8
test eax, eax
jne 0x430c63
mov ebx, dword [esp + 0x18]
mov esi, 0x7ffd
jmp 0x430d09
push 0x506930
push edi
call fcn.004ce516
add esp, 8
test eax, eax
jne 0x430c83
mov ebx, dword [esp + 0x18]
mov esi, 0x7ffc
jmp 0x430d09
push 0x506948
push edi
call fcn.004ce516
add esp, 8
test eax, eax
jne 0x430ca0
mov ebx, dword [esp + 0x18]
mov esi, 0x7ffb
jmp 0x430d09
push 0x506964
push edi
call fcn.004ce516
mov ebx, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x430cbd
mov esi, 0x7ffa
jmp 0x430d09
xor esi, esi
mov ecx, ebx
push esi
push esi
push esi
push esi
push esi
push esi
push edi
call fcn.004333e0
test eax, eax
je 0x430173
mov eax, dword [ebx + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x430ce9
cmp al, 0x20
jbe 0x430bcb
cmp al, 0x21
je 0x430bcb
cmp al, 0x69
jb 0x430cfd
cmp al, 0x6b
jbe 0x430bcb
cmp al, 0x71
jb 0x430d09
cmp al, 0x73
jbe 0x430bcb
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.00435b40
test eax, eax
je 0x430173
mov eax, dword [ebx + 0x614]
mov dword [eax + 0xc], 1
jmp 0x430d33
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x5b]
push eax
lea edx, [esp + 0x84]
call fcn.00416bc0
mov edi, eax
add esp, 4
test edi, edi
je 0x430db9
test si, si
je 0x430d5f
mov word [edi + 6], si
jmp 0x430275
mov eax, dword [edi + 0x20]
test eax, eax
je 0x430d80
mov ecx, dword [reloc.KERNEL32.dll_GetCurrentThread]
nop dword [eax]
cmp dword [eax + 4], ecx
je 0x4311dc
mov eax, dword [eax + 8]
test eax, eax
jne 0x430d70
push dword [esp + 0x80]
mov ecx, edi
push dword [ebx + 0x624]
call fcn.004162d0
test eax, eax
je 0x4311ff
cmp byte [esp + 0x5b], 0
jne 0x430db0
cmp byte [0x51eb5f], 0
je 0x430f77
mov byte [edi + 0x14], 1
jmp 0x430275
mov ecx, dword [ebx + 0x624]
mov edx, esi
push 0
push dword [esp + 0x84]
push dword [ecx + 4]
call fcn.00415ad0
add esp, 0xc
test eax, eax
jne 0x430f77
cmp dword [esp + 0x5c], 3
jne 0x430173
cmp dword [ebx + 0xb00], eax
jne 0x430f77
push dword [esp + 0x10]
lea eax, [esp + 0x13c]
push 0x50ae70
push 0x80
push eax
call fcn.004af740
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0x150]
mov edx, 0x10000
call fcn.004b5cd0
add esp, 0x18
jmp 0x430275
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov bl, byte [esp + 0xf]
jmp 0x430285
mov word [esi], bx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
cmp word [edx + ebx*2 - 2], 0x3a
jne 0x430f21
cmp ebx, 1
je 0x43122c
movzx eax, word [edx]
mov esi, edx
test ax, ax
je 0x430eab
mov di, word [0x51cbe0]
mov ecx, eax
cmp cx, 0x20
je 0x430f21
cmp cx, 9
je 0x430f21
cmp cx, di
je 0x430f21
cmp cx, word [0x51cbd8]
je 0x430f21
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x430e73
cmp word [edx + ebx*2 - 4], 0x3a
jne 0x430eb8
cmp ebx, 2
ja 0x430f21
xor eax, eax
mov word [edx + ebx*2 - 2], ax
push 0x508adc
push dword [esp + 0x14]
call fcn.004ce516
mov ebx, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x430f07
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x430f07
mov eax, dword [eax + 0x10]
test eax, eax
je 0x430f07
cmp byte [eax], 0x75
jne 0x430f07
push 0
push 0
push 0
push 0x76
mov ecx, ebx
call fcn.00435b40
test eax, eax
je 0x430173
jmp 0x430275
push 0
push dword [esp + 0x14]
mov ecx, ebx
call fcn.00433290
test eax, eax
je 0x430173
jmp 0x430275
cmp word [edx], 0x23
mov ebx, dword [esp + 0x18]
jne 0x430f4e
mov esi, dword [ebx + 0x250]
mov ecx, ebx
push edx
call fcn.00431860
test eax, eax
je 0x430173
cmp eax, 3
je 0x430265
mov edx, dword [esp + 0x10]
movzx eax, word [edx]
cmp eax, 0x7b
je 0x430f8c
cmp eax, 0x7d
je 0x430f8c
push 0
push 0
push 0
push 0
push 0
push 0
push edx
mov ecx, ebx
call fcn.004333e0
test eax, eax
je 0x430173
mov edx, dword [esp + 0x24]
mov bh, byte [esp + 0xe]
mov ecx, dword [esp + 0x28]
mov bl, byte [esp + 0xf]
jmp 0x430285
cmp eax, 0x7b
mov ecx, ebx
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.00435b40
test eax, eax
je 0x430173
mov ebx, dword [esp + 0x10]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x430fb1
cmp eax, 9
je 0x430fb1
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
cmp word [ebx], 0
je 0x430279
lea ecx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x430fd7
sub ebx, ecx
mov ecx, dword [esp + 0x18]
sar ebx, 1
mov dword [esp + 0x30], ebx
mov dword [ecx + 0x64c], 0
jmp 0x42fae0
mov eax, dword [esp + 0x10]
test dl, dl
mov ecx, dword [0x506900]
push 0
push 1
mov dword [eax], ecx
mov eax, dword [esp + 0x18]
mov cx, word [0x506904]
mov word [eax + 4], cx
lea eax, [esp + 0x18]
mov ecx, dword [esp + 0x20]
push eax
setne al
add al, 0xc5
movzx eax, al
push eax
call fcn.00435b40
lea eax, [esp + 0xb8]
push eax
push 0x50b044
push dword [esp + 0x18]
call fcn.00406670
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x1c]
add esp, 0xc
push 0
push 1
push eax
push 0x41
call fcn.00435b40
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0x67
call fcn.00435b40
mov al, byte [esp + 0x3a]
mov ch, bl
mov cl, byte [esp + 0x39]
mov edx, dword [esp + 0x34]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov al, byte [esp + 0x3b]
mov byte [esp + 0x21], ch
mov ch, byte [esp + 0x2f]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x50]
mov byte [esp + 0xe], 0
mov dword [esp + 0x28], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], eax
mov byte [esp + 0x22], ch
mov byte [esp + 0x23], cl
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0xa180]
cmp dword [esp + 0x84], edx
lea edi, [esp + 0x12188]
mov esi, dword [esp + 0x3c]
mov eax, edx
mov ebx, dword [esp + 0x18]
cmovne edi, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x1c], edi
jmp 0x42f250
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
push 0x50ab58
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [ebx + 0x244], 0
lea eax, [esp + 0x2178]
push eax
mov ecx, 0x50ac38
mov eax, 0x50ac20
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x2178]
mov ecx, ebx
push eax
push 0x50ac20
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x2178]
push eax
push 0x50abd8
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x10]
push ecx
push 0x50acb0
mov ecx, ebx
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x10]
push eax
push 0x50ac38
mov ecx, ebx
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edx
push 0x50ad64
mov dword [ecx + 0x64c], eax
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, esi
push 0x50ada8
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, ebx
mov dword [ebx + 0x64c], 0
push 0x50ae4c
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, ebx
push 0x504378
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edx
push 0x50acf8
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x18]
push edx
push 0x50af38
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x18]
push edi
push 0x50ab58
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push 0x50abbc
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [esp + 0x2178], 0
je 0x4312e6
cmp dword [esp + 0x44], 0
mov eax, dword [esp + 0x28]
mov esi, dword [ebx + 0x250]
mov dword [ebx + 0x250], eax
lea eax, [esp + 0x2178]
je 0x4312c4
cmp byte [esp + 0xf], 0
mov ecx, 0x50ac20
push eax
mov eax, 0x50b064
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
push 0
push 0
push 0
push 0
push 3
push eax
mov ecx, ebx
call fcn.004333e0
test eax, eax
je 0x430173
mov dword [ebx + 0x250], esi
cmp dword [ebx + 0x28], 0
je 0x43130c
cmp dword [esp + 0x74], 0
jne 0x43130c
lea eax, [ebx + 0x40]
mov ecx, ebx
push eax
push 0x50b064
call fcn.0044ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc dword [ebx + 0x250]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4