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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
and dword [esp + 0x1c], 0
and dword [esp + 0x34], 0
push ebx
mov ebx, ecx
push esi
push edi
mov edi, edx
mov dword [esp + 0x18], ebx
mov ecx, dword [ebx + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebx]
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], eax
test ecx, ecx
jne 0x438fb8
xor eax, eax
jmp 0x439bc6
test edi, edi
jne 0x438fc8
push 0x65
pop esi
mov dword [esp + 0x2c], esi
jmp 0x43942c
movzx esi, byte [edi]
mov dword [esp + 0x2c], esi
cmp esi, 0x61
ja 0x43941a
je 0x43940d
cmp esi, 0x4a
ja 0x439253
je 0x43918d
cmp esi, 0x39
ja 0x4390fe
je 0x439081
mov eax, esi
sub eax, 0x13
je 0x4393e7
sub eax, 1
je 0x43953f
sub eax, 0x12
jne 0x4398d0
push edx
mov edx, dword [edi + 0xc]
mov ecx, ebx
call fcn.00438f74
mov esi, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x10], eax
cmp eax, dword [ebp + 8]
je 0x43904c
push 0
push dword [ebp + 8]
mov ecx, esi
push eax
push 0x20
pop edx
call fcn.00429abf
mov eax, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 8]
xor edx, edx
call fcn.0043de50
push 0
movsx eax, al
mov ecx, esi
push eax
push dword [ebp + 8]
push 0x28
pop edx
call fcn.00429abf
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov edx, edi
mov ecx, ebx
push 1
call fcn.00438d85
pop ecx
jmp 0x439bb0
xor edx, edx
cmp dword [ebx + 0x19c], edx
jne 0x43909d
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebx
call fcn.00415d7f
pop ecx
pop ecx
jmp 0x438fb1
mov al, byte [edi + 1]
cmp al, 2
jne 0x4390bc
mov eax, dword [ebx + 0x198]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [edi + 1]
mov ecx, dword [esp + 0x14]
mov esi, dword [edi + 8]
push edx
cmp al, 4
jne 0x4390e7
push 4
push edx
push 0x16
pop edx
call fcn.00429abf
add esp, 0xc
mov edx, eax
push 0
push esi
mov ecx, dword [esp + 0x1c]
call fcn.0042a043
pop ecx
pop ecx
jmp 0x439bac
push edx
movsx eax, al
mov edx, 0x713
push esi
push eax
mov ecx, ebx
call fcn.00440fb7
jmp 0x439ba9
cmp esi, 0x3e
je 0x439123
cmp esi, 0x46
jbe 0x4398d0
cmp esi, 0x48
jbe 0x43939f
cmp esi, 0x49
je 0x439467
jmp 0x4398d0
mov eax, dword [edi + 0x2c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x38], eax
push 0
movsx ecx, word [eax + 0x22]
movsx eax, word [edi + 0x20]
inc ecx
imul ecx, dword [edi + 0x1c]
inc eax
push edx
mov edx, 0x86
add eax, ecx
mov ecx, esi
push eax
call fcn.00429abf
movzx eax, word [edi + 0x20]
add esp, 0xc
test ax, ax
js 0x439bac
cwde
imul ecx, eax, 0x18
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
cmp byte [ecx + eax + 0x15], 0x45
jne 0x439bac
push 0
push 0
push dword [ebp + 8]
mov ecx, esi
push 0x27
pop edx
call fcn.00429abf
add esp, 0xc
jmp 0x439bac
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
mov edx, ecx
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov edi, dword [eax + 4]
lea eax, [esp + 0x28]
push eax
mov esi, dword [edi]
call fcn.00439c21
mov ebx, eax
mov edx, esi
pop ecx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x40]
push eax
call fcn.00439c21
pop ecx
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.0043a997
mov dword [esp + 0x24], eax
call fcn.0043a997
push 0x20
push dword [esp + 0x28]
mov dword [esp + 0x40], eax
push edx
mov edx, dword [esp + 0x28]
push ebx
push 0x53
push esi
call fcn.00436ef8
mov esi, dword [edi + 0x18]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
call fcn.0043a9b3
lea eax, [esp + 0x58]
mov edx, esi
push eax
call fcn.00439c21
mov edi, dword [esp + 0x54]
add esp, 0x1c
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0x20
push edi
push eax
push ebx
push 0x51
push esi
call fcn.00436ef8
push dword [ebp + 8]
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
push edi
push ebx
push 0x48
pop edx
call fcn.00429abf
add esp, 0x24
mov edx, ebx
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.0043a9b3
mov edx, edi
call fcn.0043a9b3
jmp 0x439bac
cmp esi, 0x5e
ja 0x4393d3
cmp esi, 0x55
jae 0x43939f
cmp esi, 0x4b
je 0x439327
jbe 0x4398d0
cmp esi, 0x4d
jbe 0x4392c4
cmp esi, 0x53
ja 0x4398d0
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.00439c21
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
call fcn.00439c21
pop ecx
push 0x20
push dword [ebp + 8]
push eax
push esi
push dword [esp + 0x3c]
push dword [edi + 0x10]
mov edx, dword [edi + 0xc]
mov ecx, ebx
call fcn.00436ef8
add esp, 0x18
jmp 0x439bac
push 0
push edx
push 1
push 0x17
pop edx
call fcn.00429abf
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x34]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.00439c21
mov edi, dword [esp + 0x18]
mov edx, esi
pop ecx
push eax
mov ecx, edi
call fcn.00429b10
pop ecx
push 0
push dword [ebp + 8]
mov ecx, edi
mov esi, eax
push 0
push 0x17
pop edx
call fcn.00429abf
mov eax, dword [edi + 0x18]
add esp, 0xc
mov ecx, dword [edi + 0x20]
mov edx, esi
dec ecx
mov dword [eax + 0x58], ecx
mov ecx, edi
call fcn.0042a11a
mov ecx, dword [edi + 0x20]
mov dword [eax + 8], ecx
jmp 0x439bac
call fcn.00429cb7
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.00429cb7
mov ecx, dword [esp + 0x14]
mov edi, eax
push 0
push dword [ebp + 8]
push 0
push 0x1a
pop edx
call fcn.00429abf
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ecx, ebx
push edi
push esi
call fcn.0043883d
mov ecx, dword [esp + 0x1c]
push 0
push dword [ebp + 8]
push 1
push 0x17
pop edx
call fcn.00429abf
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00429cf4
push 0
push 0
push dword [ebp + 8]
push 0x25
pop edx
call fcn.00429abf
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.00429cf4
jmp 0x439bac
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.00439c21
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
call fcn.00439c21
mov edx, dword [esp + 0x30]
pop ecx
push dword [ebp + 8]
mov ecx, dword [esp + 0x18]
push esi
push eax
jmp 0x439180
mov eax, esi
sub eax, 0x5f
je 0x439a88
sub eax, 1
jne 0x4398d0
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.00439c21
mov edi, dword [ebp + 8]
mov edx, esi
pop ecx
mov ecx, dword [esp + 0x14]
push edi
push eax
call fcn.00429b21
pop ecx
jmp 0x43907b
push dword [edi + 8]
call fcn.00429b45
jmp 0x4390e1
cmp esi, 0x99
ja 0x439897
je 0x439563
sub esi, 0x65
je 0x439557
sub esi, 0x12
je 0x43953f
sub esi, 0xd
je 0x43952e
sub esi, 1
je 0x43951e
sub esi, 1
je 0x4394de
sub esi, 1
je 0x4394a6
sub esi, 0xd
jne 0x4398d0
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.00439c21
mov edx, dword [edi + 0x10]
mov esi, eax
pop ecx
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
call fcn.00439c21
pop ecx
push 0xa0
push dword [ebp + 8]
push eax
xor eax, eax
cmp dword [esp + 0x38], 0x49
push esi
sete al
add eax, 0x4e
push eax
jmp 0x4392af
movsx eax, word [edi + 0x20]
push 0
push edx
push eax
push 0x1d
pop edx
call fcn.00429abf
mov eax, dword [edi + 8]
add esp, 0xc
cmp byte [eax + 1], 0
je 0x439bac
movsx ecx, word [edi + 0x20]
or edx, 0xffffffff
mov eax, dword [ebx + 0x1d4]
push 0xfffffffffffffffe
push dword [eax + ecx*4 - 4]
jmp 0x4390d7
mov esi, dword [edi + 8]
lea ecx, [esi + 2]
call fcn.00415cec
lea edx, [esi + 2]
mov esi, dword [esp + 0x14]
lea edi, [eax - 1]
mov ecx, dword [esi]
push edi
call fcn.00416af8
pop ecx
push 0xffffffffffffffff
push eax
push 0
push dword [ebp + 8]
mov eax, edi
mov ecx, esi
cdq
sub eax, edx
sar eax, 1
push eax
push 0x1c
pop edx
call fcn.00429bde
add esp, 0x14
jmp 0x439bac
push edx
mov edx, dword [edi + 8]
push 0
call fcn.00438b7a
jmp 0x4390e0
push edx
push 0
mov edx, edi
mov ecx, ebx
call fcn.00438bdd
jmp 0x4390e0
push 0
push 0
mov edx, edi
mov ecx, ebx
call fcn.00438435
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jmp 0x439bac
push 0
push edx
push 0
push 0x1a
jmp 0x43917f
mov al, byte [eax + 0x3e]
xor ecx, ecx
test dword [edi + 4], 0x4000
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], al
mov dword [esp + 0x2c], ecx
je 0x439672
mov dword [esp + 0x3c], ecx
mov esi, ecx
mov eax, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], eax
call fcn.00415cec
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push 0
push dword [esp + 0x1c]
mov dword [esp + 0x28], eax
push esi
push eax
call fcn.0044185b
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
je 0x43987f
cmp dword [eax + 0xc], 0
je 0x43987f
movzx ecx, word [eax + 2]
test ecx, 0x200
je 0x439688
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00429cb7
mov edx, dword [esp + 0x3c]
mov ecx, ebx
mov edi, dword [ebp + 8]
push edi
mov dword [esp + 0x34], eax
mov edx, dword [edx + 4]
mov edx, dword [edx]
call fcn.00439cd5
pop ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
jle 0x439662
dec ecx
mov dword [esp + 0x1c], 0x18
mov dword [esp + 0x24], ecx
push 0
push dword [esp + 0x34]
mov ecx, esi
push edi
push 0x4d
pop edx
call fcn.00429abf
add esp, 0xc
mov edx, edi
mov ecx, ebx
push 1
call fcn.00438d85
mov eax, dword [esp + 0x40]
inc dword [ebx + 0x64]
pop ecx
push edi
mov edx, dword [eax + 4]
mov ecx, ebx
mov eax, dword [esp + 0x20]
mov edx, dword [eax + edx]
call fcn.00439cd5
pop ecx
mov ecx, ebx
call fcn.00438dbc
add dword [esp + 0x1c], 0x18
sub dword [esp + 0x24], 1
jne 0x439615
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.00429cf4
jmp 0x439bb0
mov eax, dword [edi + 0x14]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x439585
mov esi, dword [eax]
jmp 0x439587
test ecx, 0x400
je 0x4396a8
mov eax, dword [esp + 0x3c]
mov ecx, ebx
push dword [ebp + 8]
mov edx, dword [eax + 4]
mov edx, dword [edx]
call fcn.00438f74
jmp 0x43954d
xor ecx, ecx
mov dword [esp + 0x34], ecx
test esi, esi
jle 0x439737
mov edi, dword [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x20], edx
cmp ecx, 0x20
jge 0x4396f5
mov eax, dword [edi + 4]
xor edx, edx
mov ecx, dword [esp + 0x20]
inc edx
push 0
mov ecx, dword [ecx + eax]
call fcn.00437e9b
mov edx, dword [esp + 0x24]
pop ecx
mov ecx, dword [esp + 0x34]
test eax, eax
je 0x4396f1
mov eax, dword [esp + 0x24]
bts eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
test byte [eax + 2], 0x20
je 0x439723
cmp dword [esp + 0x2c], 0
jne 0x439723
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x20]
mov edx, dword [edx + ecx]
mov ecx, ebx
call fcn.00436cf2
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
inc ecx
add edx, 0x18
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], edx
cmp ecx, esi
jl 0x4396c0
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x4397ab
cmp dword [esp + 0x24], 0
je 0x439757
mov eax, dword [ebx + 0x48]
lea ecx, [eax + 1]
add eax, esi
mov dword [esp + 0x20], ecx
mov dword [ebx + 0x48], eax
jmp 0x439768
mov edx, esi
mov ecx, ebx
call fcn.0043a9e7
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x18]
test byte [esi + 2], 0xc0
je 0x439789
mov ecx, dword [edx + 4]
mov ecx, dword [ecx]
mov al, byte [ecx]
cmp al, 0x9a
je 0x439781
cmp al, 0x9c
jne 0x439789
mov al, byte [esi + 2]
and al, 0xc0
mov byte [ecx + 0x26], al
inc dword [ebx + 0x64]
mov ecx, ebx
push 3
push 0
push dword [esp + 0x28]
call fcn.00439d22
add esp, 0xc
mov ecx, ebx
call fcn.00438dbc
mov edx, dword [esp + 0x3c]
jmp 0x4397b4
and dword [esp + 0x20], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
jl 0x4397dd
test byte [edi + 4], 0x80
je 0x4397dd
mov eax, dword [edx + 4]
push dword [eax + 0x18]
mov edx, esi
mov esi, dword [esp + 0x34]
push ecx
mov ecx, esi
call fcn.0045548b
pop ecx
pop ecx
mov edi, eax
jmp 0x4397f0
test ecx, ecx
jle 0x4397e8
mov eax, dword [edx + 4]
push dword [eax]
jmp 0x4397c9
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
test byte [edi + 2], 0x20
je 0x43982d
cmp dword [esp + 0x2c], 0
jne 0x439804
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x14]
xor eax, eax
push eax
push eax
push eax
push 0x22
pop edx
mov ecx, esi
call fcn.00429abf
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffffc
push dword [esp + 0x30]
call fcn.0042a043
pop ecx
pop ecx
jmp 0x439831
mov esi, dword [esp + 0x14]
push 0xfffffffffffffffb
push edi
push dword [ebp + 8]
mov edi, dword [esp + 0x30]
mov ecx, esi
push dword [esp + 0x2c]
push edi
push 0x23
pop edx
call fcn.00429bde
add esp, 0x14
or edx, 0xffffffff
mov ecx, esi
call fcn.0042a11a
mov ecx, dword [esp + 0x1c]
mov byte [eax + 3], cl
test ecx, ecx
je 0x439bac
test edi, edi
jne 0x439bac
mov edx, dword [esp + 0x20]
push ecx
mov ecx, ebx
call fcn.0043aa12
jmp 0x4390e1
push dword [esp + 0x34]
push dword [esp + 0x24]
push str.unknown_function:__.s__
push ebx
call fcn.00415d7f
jmp 0x439ba9
sub esi, 0x9a
je 0x439b76
sub esi, 1
je 0x439b4d
sub esi, 1
je 0x439b20
sub esi, 1
je 0x439a99
sub esi, 1
je 0x439a88
sub esi, 1
je 0x439a80
mov eax, dword [edi + 0x14]
and dword [esp + 0x38], 0
mov dword [esp + 0x34], eax
mov esi, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], eax
call fcn.00429cb7
mov edx, dword [edi + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
test edx, edx
je 0x439953
push 0xc
pop ecx
mov esi, edx
lea edi, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.00439c21
and dword [esp + 0x50], 0xffffefff
and dword [esp + 0x2c], 0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x4c]
pop ecx
mov cl, byte [esp + 0x48]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x78]
mov byte [esp + 0x6e], cl
mov byte [esp + 0x48], 0x9f
mov byte [esp + 0x78], 0x4f
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
dec eax
test eax, eax
jle 0x439a33
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x1c], eax
test edx, edx
je 0x4399d6
inc dword [ebx + 0x64]
mov ecx, edi
mov eax, dword [esi]
mov dword [esp + 0x88], eax
call fcn.00429cb7
mov edx, dword [esp + 0x38]
mov esi, eax
push 0x10
push esi
mov ecx, ebx
call fcn.0043a184
mov edx, dword [esp + 0x20]
mov ecx, ebx
push dword [ebp + 8]
mov edx, dword [edx + 0x18]
call fcn.00439cd5
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, edi
call fcn.00429b34
mov ecx, ebx
call fcn.00438dbc
mov edx, esi
mov ecx, edi
call fcn.00429cf4
mov esi, dword [esp + 0x18]
add esi, 0x30
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], esi
jne 0x439970
jmp 0x439a33
inc dword [ebx + 0x64]
mov ecx, edi
mov esi, dword [esi]
call fcn.00429cb7
mov edi, eax
mov edx, esi
push 0x10
push edi
mov ecx, ebx
call fcn.0043a184
mov esi, dword [esp + 0x20]
mov ecx, ebx
push dword [ebp + 8]
mov edx, dword [esi + 0x18]
call fcn.00439cd5
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x14]
call fcn.00429b34
mov ecx, ebx
call fcn.00438dbc
mov edx, edi
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.00429cf4
add esi, 0x30
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], esi
jne 0x4399d6
mov edx, dword [esp + 0x30]
test dl, 1
je 0x439a61
inc dword [ebx + 0x64]
mov ecx, ebx
push dword [ebp + 8]
imul eax, edx, 0x18
mov edx, dword [esp + 0x38]
mov edx, dword [edx + 4]
mov edx, dword [eax + edx - 0x18]
call fcn.00439cd5
pop ecx
mov ecx, ebx
call fcn.00438dbc
jmp 0x439a75
push 0
push dword [ebp + 8]
mov ecx, edi
push 0
push 0x1a
pop edx
call fcn.00429abf
add esp, 0xc
mov edx, dword [esp + 0x24]
mov ecx, edi
jmp 0x439395
mov eax, dword [edi + 0x1c]
jmp 0x439b35
push edx
mov edx, dword [edi + 0xc]
mov ecx, ebx
call fcn.00438f74
pop ecx
jmp 0x439b35
mov eax, dword [edi + 0xc]
mov bl, byte [eax]
mov byte [esp + 0x47], bl
cmp bl, 0x84
mov ebx, dword [esp + 0x18]
jne 0x439ab9
push edx
push 1
mov edx, eax
mov ecx, ebx
call fcn.00438bdd
jmp 0x439acb
cmp byte [esp + 0x47], 0x85
jne 0x439acf
push edx
mov edx, dword [eax + 8]
push 1
call fcn.00438b7a
pop ecx
pop ecx
jmp 0x439b18
and dword [esp + 0x50], 0
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x4c]
mov byte [esp + 0x4c], 0x84
mov ecx, ebx
mov dword [esp + 0x50], 0x4400
call fcn.00439c21
mov edx, dword [edi + 0xc]
mov esi, eax
pop ecx
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
call fcn.00439c21
pop ecx
push dword [ebp + 8]
mov ecx, dword [esp + 0x18]
push esi
push eax
push 0x5a
pop edx
call fcn.00429abf
add esp, 0xc
mov edi, dword [ebp + 8]
jmp 0x439bb0
movsx eax, word [edi + 0x22]
mov esi, dword [edi + 0x28]
imul eax, eax, 0x18
add eax, dword [esi + 0x1c]
cmp byte [esi], 0
jne 0x439b39
mov eax, dword [eax + 0x10]
mov edi, eax
jmp 0x439bb0
cmp byte [esi + 1], 0
je 0x439b76
push edx
push dword [eax + 0xc]
push dword [esi + 8]
push 0x2f
jmp 0x43917f
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x439b67
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push ebx
call fcn.00415d7f
jmp 0x439185
movsx ecx, word [edi + 0x22]
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
jmp 0x439b35
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x439b8f
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
jle 0x439b8c
movsx eax, word [edi + 0x20]
add eax, ecx
jmp 0x439b35
mov ecx, dword [ebx + 0x60]
movzx eax, byte [edi + 0x26]
push eax
movsx eax, word [edi + 0x20]
push edx
mov edx, dword [edi + 0x2c]
push ecx
push eax
mov ecx, ebx
call fcn.00438e72
mov dword [esp + 0x20], eax
add esp, 0x10
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0043a9b3
mov edx, dword [esp + 0x40]
call fcn.0043a9b3
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret