Function at 0x42c666
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
push ebx
mov ebx, ecx
push esi
push edi
mov edi, edx
mov dword [esp + 0x28], ebx
mov esi, dword [ebx + 8]
xor edx, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], edx
test esi, esi
jne 0x42c6a1
xor eax, eax
jmp 0x42d41e
test edi, edi
je case.0x42c6d0.117
movzx ecx, byte [edi]
mov dword [esp + 0xc], ecx
cmp ecx, 0x6a
jbe 0x42ce55
lea eax, [ecx - 0x6b]
mov dword [esp + 0xc], ecx
cmp eax, 0x45
ja case.0x42c6d0.111
movzx eax, byte [eax + 0x42d482]
jmp dword [eax*4 + 0x42d426]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x1c], edi
jmp 0x42c6a1
movsx eax, word [edi + 0x1e]
mov ecx, dword [edi + 0x24]
imul eax, eax, 0x18
add eax, dword [ecx + 0x1c]
cmp byte [ecx], dl
jne 0x42c6f9
mov eax, dword [eax + 0x10]
jmp 0x42d41e
cmp byte [ecx + 1], dl
je case.0x42c6d0.162
mov ebx, dword [ebp + 8]
push ebx
push dword [eax + 0xc]
push dword [ecx + 8]
push 0x5a
jmp 0x42d411
test byte [edi + 4], 8
mov ecx, dword [edi + 0x18]
je 0x42c7a2
mov esi, dword [ebp + 8]
mov ecx, ebx
mov edx, dword [edi + 0xc]
push esi
call fcn.0042c666
pop ecx
movsx ecx, word [edi + 0x1c]
mov dword [esp + 0x24], eax
test ecx, ecx
js 0x42c749
mov eax, dword [edi + 0x28]
add ecx, ecx
mov eax, dword [eax + 4]
mov cl, byte [eax + ecx*8 + 0xd]
mov eax, dword [esp + 0x24]
jmp 0x42c74b
mov cl, 0x44
movsx edi, cl
cmp edi, 0x41
jle 0x42c799
mov ebx, dword [esp + 0x10]
cmp eax, esi
je 0x42c772
push 0
push esi
push eax
push 0x4f
pop edx
mov ecx, ebx
call fcn.0041b599
mov eax, esi
add esp, 0xc
mov dword [esp + 0x24], eax
push 0
push 1
push eax
push 0x5b
pop edx
mov ecx, ebx
call fcn.0041b599
add esp, 0xc
mov edx, eax
lea eax, [edi*2 + 0x4842bc]
mov ecx, ebx
push 0xffffffffffffffff
push eax
call fcn.0041bc40
pop ecx
pop ecx
mov eax, dword [esp + 0x24]
jmp 0x42d41e
test ecx, ecx
jns 0x42c805
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x24], eax
test eax, eax
jns 0x42c802
movzx eax, word [edi + 0x1c]
movsx ebx, ax
mov dword [esp + 0x1c], ebx
test ax, ax
js 0x42c7f9
mov eax, dword [edi + 0x28]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x42c7f9
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov ebx, dword [ebp + 8]
sub eax, dword [esp + 0x24]
push edx
push ebx
push eax
push 0x4f
pop edx
call fcn.0041b599
add esp, 0xc
xor eax, eax
push eax
push eax
push ebx
push 0x54
jmp 0x42d411
sub ebx, dword [esp + 0x24]
jmp 0x42d41c
lea ecx, [eax - 1]
push dword [ebp + 8]
movsx eax, word [edi + 0x1c]
mov edx, dword [edi + 0x28]
mov bl, byte [edi + 0x22]
push eax
push ecx
mov ecx, esi
call fcn.0042c51e
add esp, 0xc
test bl, bl
je 0x42c888
movzx edx, bl
mov ecx, esi
call fcn.0041ba67
jmp 0x42c888
mov esi, dword [ebp + 8]
push esi
push edx
mov edx, edi
mov ecx, ebx
call fcn.0042c423
pop ecx
pop ecx
mov eax, esi
jmp 0x42d41e
mov ecx, edi
call fcn.0042970e
mov ebx, dword [ebp + 8]
xor ecx, ecx
push edx
push ebx
mov eax, dword [eax + 8]
cmp byte [eax + 4], cl
sete cl
push ecx
push 0x46
jmp 0x42d411
mov ebx, dword [ebp + 8]
push ebx
push edx
mov edx, dword [edi + 8]
mov ecx, esi
call fcn.0042c3c0
pop ecx
pop ecx
jmp 0x42d41c
push dword [edi + 8]
mov edx, dword [ebp + 8]
mov ecx, esi
call fcn.0041b627
pop ecx
mov eax, dword [ebp + 8]
jmp 0x42d41e
mov esi, dword [edi + 8]
lea ecx, [esi + 2]
call fcn.00406d79
lea edx, [esi + 2]
mov esi, dword [esp + 0x10]
lea edi, [eax - 1]
mov ecx, dword [esi]
push edi
call fcn.00407c7e
mov ebx, dword [ebp + 8]
pop ecx
push 0xfffffffffffffff9
push eax
mov eax, edi
mov ecx, esi
cdq
push 0
sub eax, edx
push ebx
sar eax, 1
push eax
push 0x4b
pop edx
call fcn.0041b6d6
add esp, 0x14
jmp 0x42d41c
movsx eax, word [edi + 0x1c]
mov ecx, esi
push edx
push dword [ebp + 8]
push eax
push 0x4c
pop edx
call fcn.0041b599
mov eax, dword [edi + 8]
add esp, 0xc
cmp byte [eax + 1], 0
je 0x42c888
movsx edx, word [edi + 0x1c]
mov ecx, dword [ebx + 0xd0]
call fcn.004080df
and dword [ecx], 0
mov edx, eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0041bcb2
jmp 0x42c887
mov eax, dword [edi + 0x18]
jmp 0x42d41e
mov eax, dword [edi + 0xc]
mov cl, byte [eax]
cmp cl, 0x96
jne 0x42c931
mov esi, dword [ebp + 8]
mov edx, eax
push esi
push 1
jmp 0x42c835
cmp cl, 0x94
jne 0x42c944
mov ebx, dword [ebp + 8]
mov edx, dword [eax + 8]
push ebx
push 1
jmp 0x42c86c
lea eax, [esp + 0x14]
mov dword [esp + 0x78], edx
push eax
lea edx, [esp + 0x74]
mov byte [esp + 0x74], 0x96
mov ecx, ebx
mov dword [esp + 0x78], 0x4400
call fcn.0042d560
mov edx, dword [edi + 0xc]
mov esi, eax
pop ecx
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.0042d560
mov edi, dword [ebp + 8]
pop ecx
push edi
push esi
push eax
push 0x68
pop edx
mov ecx, dword [esp + 0x1c]
call fcn.0041b599
add esp, 0xc
jmp 0x42c9fb
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0042d560
pop ecx
mov ecx, dword [edi + 0x10]
mov esi, eax
call fcn.0042970e
xor ecx, ecx
cmp byte [edi + 0x22], 0x2d
mov edi, dword [ebp + 8]
sete cl
mov eax, dword [eax + 8]
mov dl, byte [eax + 4]
xor eax, eax
test dl, dl
sete al
xor ecx, eax
xor eax, eax
push ecx
mov ecx, dword [esp + 0x14]
test dl, dl
setne al
push eax
push edi
push esi
push 0x58
pop edx
call fcn.0041b7ff
add esp, 0x10
jmp 0x42c9fb
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x42ca29
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push ebx
call fcn.00406e9c
add esp, 0xc
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x14]
mov ecx, ebx
call fcn.0042ea9c
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x42ca22
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x42ca22
movzx eax, al
mov dword [ebx + eax*4 + 0x8c], ecx
inc byte [ebx + 0x13]
mov eax, edi
jmp 0x42d41e
movsx ecx, word [edi + 0x1e]
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
jmp 0x42d41e
test dword [edi + 4], 0x1000000
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], edx
mov al, byte [eax + 0x4e]
mov byte [esp + 0x2c], al
je 0x42ca64
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 0x38]
jmp 0x42d41e
cmp byte [ebx + 0x17], dl
je 0x42ca8c
push edx
push 2
pop edx
mov ecx, edi
call fcn.0042aefd
pop ecx
test eax, eax
je 0x42ca8a
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.0042d4c8
pop ecx
jmp 0x42d41e
xor edx, edx
test dword [edi + 4], 0x4000
je 0x42cb5b
mov dword [esp + 0x18], edx
mov eax, edx
mov ecx, dword [edi + 8]
push edx
push dword [esp + 0x30]
mov dword [esp + 0x44], ecx
mov edx, ecx
mov ecx, dword [esp + 0x28]
push eax
mov dword [esp + 0x18], eax
call fcn.00437192
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x42cd5b
xor eax, eax
cmp dword [ecx + 0x14], eax
jne 0x42cd5b
mov ecx, dword [ecx + 4]
test ecx, 0x200
je 0x42cb71
dec dword [ebx + 0x38]
mov ecx, ebx
mov eax, dword [ebx + 0x38]
mov edi, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
push edi
mov edx, dword [eax + 4]
call fcn.0042d5d9
mov eax, dword [esp + 0x10]
pop ecx
cmp eax, 1
jle 0x42cb4b
mov ecx, dword [esp + 0x18]
add ecx, 0x1c
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
push 0
push dword [esp + 0x24]
mov ecx, esi
push edi
push 0x33
pop edx
call fcn.0041b599
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, ebx
mov edx, dword [edx]
push edi
call fcn.0042d5d9
add dword [esp + 0x20], 0x18
sub dword [esp + 0x2c], 1
pop ecx
jne 0x42cb1c
mov edx, dword [esp + 0x20]
mov ecx, esi
call fcn.0041b898
jmp 0x42c9fb
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x42ca9d
mov eax, dword [ecx]
jmp 0x42ca9f
test ecx, 0x400
je 0x42cb8f
mov eax, dword [esp + 0x18]
mov ecx, ebx
push dword [ebp + 8]
mov edx, dword [eax + 4]
call fcn.0042c666
jmp 0x42ca84
mov ecx, dword [esp + 0xc]
test ecx, ecx
jle 0x42cc0d
mov edx, dword [esp + 0x18]
mov edi, eax
mov esi, dword [esp + 0x2c]
add edx, 4
mov dword [esp + 0x14], edx
cmp edi, 0x20
jae 0x42cbd4
mov ecx, dword [esp + 0x14]
xor edx, edx
push eax
inc edx
mov ecx, dword [ecx]
call fcn.0042aefd
mov edx, dword [esp + 0x18]
pop ecx
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x42cbd4
mov eax, dword [esp + 0x34]
bts eax, edi
mov dword [esp + 0x34], eax
test byte [esi + 4], 0x20
je 0x42cbf6
cmp dword [esp + 0x30], 0
jne 0x42cbf6
mov edx, dword [edx]
mov ecx, ebx
call fcn.00429749
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
inc edi
add edx, 0x18
mov dword [esp + 0x14], edx
push 0
pop eax
cmp edi, ecx
jl 0x42cba8
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x42cc8f
cmp dword [esp + 0x34], 0
je 0x42cc35
mov eax, dword [ebx + 0x2c]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0x2c], eax
jmp 0x42cc48
mov edx, ecx
mov ecx, ebx
call fcn.0042eab5
mov edx, dword [esp + 0x18]
mov ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x2c]
test byte [eax + 4], 0xc0
je 0x42cc7a
mov ebx, dword [edx + 4]
mov bl, byte [ebx]
mov byte [esp + 0x3b], bl
cmp bl, 0xa2
mov ebx, dword [esp + 0x28]
je 0x42cc6b
cmp byte [esp + 0x3b], 0xa4
jne 0x42cc7a
mov esi, dword [edx + 4]
mov al, byte [eax + 4]
and al, 0xc0
mov byte [esi + 0x22], al
mov esi, dword [esp + 0x10]
push 3
push 0
push ecx
mov ecx, ebx
call fcn.0042d696
mov edx, dword [esp + 0x24]
add esp, 0xc
jmp 0x42cc93
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
cmp eax, 2
jl 0x42ccb9
test byte [edi + 4], 0x80
je 0x42ccbd
push dword [edx + 0x1c]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
push eax
call fcn.0044d266
pop ecx
pop ecx
mov edi, eax
jmp 0x42ccc6
test eax, eax
jle 0x42ccc2
push dword [edx + 4]
jmp 0x42cca5
mov edi, dword [esp + 0x2c]
test byte [edi + 4], 0x20
je 0x42cd01
cmp dword [esp + 0x30], 0
jne 0x42ccde
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
xor eax, eax
mov ecx, esi
push eax
push eax
push eax
push 0x52
pop edx
call fcn.0041b599
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffe
push dword [esp + 0x34]
call fcn.0041bc40
pop ecx
pop ecx
mov edx, dword [ebx + 0x34]
mov ecx, esi
push 0xfffffffffffffff8
push edi
push dword [ebp + 8]
mov edi, dword [esp + 0x20]
neg edx
push edi
push dword [esp + 0x44]
sbb edx, edx
add edx, 0x3f
call fcn.0041b6d6
mov eax, dword [esp + 0x20]
add esp, 0x14
movzx edx, al
mov ecx, esi
call fcn.0041ba67
mov eax, dword [esp + 0xc]
test eax, eax
je 0x42c888
cmp dword [esp + 0x34], 0
jne 0x42c888
push eax
mov edx, edi
mov ecx, ebx
call fcn.0042eaeb
add esp, 4
jmp 0x42c888
push dword [esp + 0x3c]
push str.unknown_function:__s__
jmp 0x42c9ef
cmp ecx, 0x86
jne 0x42cf10
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
cmp dword [eax], 1
je 0x42cf10
push 1
push dword [eax]
push str.sub_select_returns__d_columns___expected__d
push ebx
call fcn.00406e9c
add esp, 0x10
jmp 0x42c9f8
mov ecx, dword [edi + 0xc]
cmp dword [ecx + 0x18], edx
jne 0x42cdb6
mov edx, ecx
mov ecx, ebx
call fcn.0042bbe2
mov ecx, eax
mov eax, dword [edi + 0xc]
mov dword [eax + 0x18], ecx
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x18]
test edx, edx
je 0x42cdd9
call fcn.004299dc
cmp edx, eax
je 0x42cdd9
push eax
push edx
push str._d_columns_assigned__d_values
push ebx
call fcn.00406e9c
mov ecx, dword [edi + 0xc]
add esp, 0x10
movsx eax, word [edi + 0x1c]
add eax, dword [ecx + 0x18]
jmp 0x42d41e
push str.row_value_misused
push ebx
call fcn.00406e9c
pop ecx
pop ecx
jmp 0x42c9f8
mov bl, byte [ebx + 0x17]
mov ecx, esi
push edx
push edx
push dword [edi + 0x18]
push 0x15
pop edx
call fcn.0041b599
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x28]
mov ecx, eax
push dword [ebp + 8]
mov byte [eax + 0x17], 0
mov edx, dword [edi + 0xc]
call fcn.0042c666
pop ecx
mov ecx, dword [esp + 0x28]
mov edx, esi
mov edi, eax
mov byte [ecx + 0x17], bl
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0041bcfc
mov ecx, dword [ebx + 0x6c]
mov edx, esi
mov dword [eax + 8], ecx
mov ecx, ebx
call fcn.0041bcfc
mov ebx, dword [esp + 0x28]
mov dword [eax + 0xc], edi
jmp 0x42c9fb
je case.0x42c6d0.107
cmp ecx, 0x36
ja 0x42d078
je 0x42cf7d
cmp ecx, 0x30
ja 0x42cf5c
je 0x42cf45
mov eax, ecx
sub eax, 0x13
je case.0x42c6d0.110
sub eax, 1
je 0x42cf10
sub eax, 0x10
je 0x42ceca
sub eax, 7
je case.0x42c6d0.107
sub eax, 1
je case.0x42c6d0.107
sub eax, 1
jne case.0x42c6d0.111
xor eax, eax
mov edx, 0x80
cmp ecx, 0x2d
mov dword [esp + 0x20], edx
sete al
lea esi, [eax + 0x34]
mov dword [esp + 0xc], esi
jmp 0x42cf81
mov esi, dword [ebp + 8]
mov ecx, ebx
mov edx, dword [edi + 0xc]
push esi
call fcn.0042c666
mov ebx, eax
pop ecx
cmp ebx, esi
je 0x42cef4
mov ecx, dword [esp + 0x10]
push 0
push esi
push ebx
push 0x4f
pop edx
call fcn.0041b599
add esp, 0xc
mov ebx, esi
mov ecx, dword [edi + 8]
xor edx, edx
call fcn.004330f2
mov ecx, dword [esp + 0x10]
push 0
movsx eax, al
push eax
push esi
push 0x55
jmp 0x42d413
mov edx, edi
mov ecx, ebx
call fcn.0042bbe2
jmp 0x42d41e
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0042d560
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x10]
pop ecx
push edi
push eax
mov ecx, esi
call fcn.0041b603
pop ecx
pop ecx
jmp 0x42c9fb
mov esi, dword [ebp + 8]
mov ecx, ebx
push edx
push edx
push esi
mov edx, edi
call fcn.0042d7cc
add esp, 0xc
jmp 0x42c83e
sub ecx, 0x31
je 0x42d008
sub ecx, 1
je 0x42cfa9
sub ecx, 1
je 0x42cfa9
sub ecx, 1
je 0x42cf7d
sub ecx, 1
jne case.0x42c6d0.111
mov esi, dword [esp + 0xc]
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x3c], ecx
call fcn.004299dc
cmp eax, 1
jle 0x42d183
push edx
push esi
push dword [ebp + 8]
mov edx, edi
mov ecx, ebx
call fcn.00429ae0
jmp 0x42c9f5
push edx
push dword [ebp + 8]
mov ecx, esi
push 1
push 0x46
pop edx
call fcn.0041b599
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.0042d560
mov edx, dword [esp + 0x10]
pop ecx
push eax
mov ecx, esi
call fcn.0041b5f2
mov edi, dword [ebp + 8]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x10]
xor eax, eax
push eax
push edi
push eax
push 0x46
pop edx
call fcn.0041b599
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, esi
call fcn.0041bcfc
mov ecx, dword [ecx + 0x6c]
mov dword [eax + 8], ecx
jmp 0x42c9fb
mov esi, dword [ebx + 0x38]
mov ecx, dword [esp + 0x10]
dec esi
push edx
push dword [ebp + 8]
push edx
push 0x49
lea edi, [esi - 1]
pop edx
mov dword [ebx + 0x38], edi
call fcn.0041b599
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, ebx
push edi
push esi
call fcn.0042be56
mov ecx, dword [esp + 0x18]
xor ebx, ebx
push ebx
push dword [ebp + 8]
push 1
push 0x46
pop edx
call fcn.0041b599
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0041b898
push ebx
push ebx
mov ebx, dword [ebp + 8]
mov ecx, esi
push ebx
push 0x53
pop edx
call fcn.0041b599
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.0041b898
jmp 0x42d41c
cmp ecx, 0x64
ja 0x42d1cb
je case.0x42c6d0.107
sub ecx, 0x37
je 0x42cf7d
sub ecx, 1
je 0x42cf7d
sub ecx, 1
je 0x42cf7d
sub ecx, 0xe
je 0x42d115
sub ecx, 6
je 0x42d0b4
sub ecx, 0x16
jmp 0x42d1f2
mov eax, dword [edi + 0x28]
push edx
push dword [ebp + 8]
mov dword [esp + 0x44], eax
mov edx, 0x95
movsx ecx, word [eax + 0x2a]
movsx eax, word [edi + 0x1c]
inc ecx
imul ecx, dword [edi + 0x18]
inc ecx
add eax, ecx
mov ecx, esi
push eax
call fcn.0041b599
movzx eax, word [edi + 0x1c]
add esp, 0xc
test ax, ax
js 0x42c9f8
mov edi, dword [ebp + 8]
movsx ecx, ax
mov eax, dword [esp + 0x3c]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x42c9fb
xor eax, eax
mov ecx, esi
push eax
push eax
push edi
push 0x54
pop edx
jmp 0x42c985
cmp dword [ebx + 0x70], edx
jne 0x42d12c
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebx
call fcn.00406e9c
pop ecx
pop ecx
jmp 0x42c69a
mov al, byte [edi + 1]
cmp al, 2
jne 0x42d143
cmp dword [ebx + 0x6c], edx
mov eax, ebx
cmovne eax, dword [ebx + 0x6c]
mov byte [eax + 0x15], 1
mov al, byte [edi + 1]
mov edi, dword [edi + 8]
push edx
cmp al, 4
jne 0x42d16c
push 4
push edx
push 0x45
pop edx
mov ecx, esi
call fcn.0041b599
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0
push edi
call fcn.0041bc40
jmp 0x42cdf0
push edx
movsx eax, al
mov edx, 0x713
push edi
push eax
mov ecx, ebx
call fcn.004368a2
jmp 0x42cd92
lea eax, [esp + 0x14]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.0042d560
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.0042d560
mov edx, dword [esp + 0x40]
pop ecx
mov ecx, dword [esp + 0x20]
or ecx, 0x20
push ecx
push dword [ebp + 8]
mov ecx, ebx
push eax
push esi
push dword [esp + 0x1c]
push dword [edi + 0x10]
call fcn.0042997c
add esp, 0x18
jmp 0x42c9f8
sub ecx, 0x65
je case.0x42c6d0.107
sub ecx, 1
je case.0x42c6d0.107
sub ecx, 1
je case.0x42c6d0.107
sub ecx, 1
je case.0x42c6d0.107
sub ecx, 1
je case.0x42c6d0.107
mov ecx, dword [edi + 0x14]
mov eax, dword [ebx]
mov dword [esp + 0x30], ecx
add ecx, 4
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], eax
mov ecx, dword [ecx]
dec dword [ebx + 0x38]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x42d2bf
push edx
push edx
mov edx, ecx
mov ecx, eax
call fcn.0042a2c2
mov edi, eax
mov eax, dword [esp + 0x14]
pop ecx
pop ecx
mov dword [esp + 0x2c], edi
cmp byte [eax + 0x51], 0
je 0x42d26a
test edi, edi
je 0x42c9f8
mov edx, edi
mov ecx, eax
call fcn.0042a139
jmp 0x42c9f8
lea eax, [esp + 0x14]
mov edx, edi
push eax
mov ecx, ebx
call fcn.0042c5e1
pop ecx
mov ecx, edi
mov edx, eax
call fcn.00429723
push 0x30
push 0
mov cl, byte [eax]
and dword [eax + 4], 0xffffefff
mov byte [eax + 0x22], cl
mov byte [eax], 0xab
mov dword [eax + 0x18], edx
lea eax, [esp + 0x48]
push eax
call fcn.00460f00
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x4c]
add esp, 0xc
mov byte [esp + 0x40], 0x35
and dword [esp + 0x14], 0
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x34]
mov edi, dword [ebp + 8]
dec eax
test eax, eax
jle 0x42d38b
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
test ecx, ecx
je 0x42d33a
mov esi, dword [ebx + 0x38]
mov eax, dword [eax]
dec esi
push 0x10
push esi
push edx
push ebx
mov dword [esp + 0x60], eax
mov dword [ebx + 0x38], esi
call fcn.0042dc32
mov ecx, dword [esp + 0x28]
push edi
mov edx, dword [ecx + 0x18]
mov ecx, ebx
call fcn.0042d5d9
mov edx, dword [esp + 0x34]
add esp, 0x14
mov ecx, dword [esp + 0x10]
call fcn.0041b616
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0041b898
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add eax, 0x30
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], eax
jne 0x42d2df
jmp 0x42d38b
mov esi, dword [ebx + 0x38]
mov eax, dword [eax]
dec esi
push 0x10
push esi
push eax
push ebx
mov dword [ebx + 0x38], esi
call fcn.0042dc32
mov ecx, dword [esp + 0x28]
push edi
mov edx, dword [ecx + 0x18]
mov ecx, ebx
call fcn.0042d5d9
mov edx, dword [esp + 0x34]
add esp, 0x14
mov ecx, dword [esp + 0x10]
call fcn.0041b616
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0041b898
mov eax, dword [esp + 0x18]
add eax, 0x30
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], eax
jne 0x42d33a
mov ecx, dword [esp + 0x34]
test cl, 1
je 0x42d3aa
mov eax, dword [esp + 0x30]
imul edx, ecx, 0x18
mov ecx, ebx
push edi
mov edx, dword [edx + eax - 0x14]
call fcn.0042d5d9
pop ecx
jmp 0x42d3bc
xor eax, eax
mov ecx, esi
push eax
push edi
push eax
push 0x49
pop edx
call fcn.0041b599
add esp, 0xc
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42cb4b
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.0042a139
jmp 0x42cb4b
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0042d560
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.0042d560
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x10]
pop ecx
push edi
push esi
push eax
jmp 0x42c981
mov ebx, dword [ebp + 8]
push edx
push ebx
push edx
push 0x49
mov ecx, esi
pop edx
call fcn.0041b599
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret