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

Disassembly:
mov edx, dword [0x4b9de8]
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
xor ecx, ecx
cmp edx, 3
setl cl
push edi
mov edi, eax
movzx eax, word [esi + 0xe]
xor ebx, ebx
lea ecx, [ecx*4 + 0x37]
cmp ax, bx
jne 0x438089
mov dword [edi], ebx
mov dword [edi + 4], ebx
cmp ecx, 2
jbe 0x438c01
add edi, 8
add ecx, 0xfffffffe
xor eax, eax
rep stosd dword es:[edi], eax
pop edi
pop esi
pop ebx
add esp, 0x1c
ret
mov ecx, 0x4a5b90
cmp edx, 3
jl 0x438098
mov ecx, 0x4a4d60
movsx edx, word [esi + 0x10]
cwde
shl edx, 0x10
or edx, eax
mov dword [edi + 8], edx
movzx edx, word [esi + 0xd6]
movzx eax, word [esi + 0xd4]
shl edx, 0x10
or edx, eax
mov dword [edi + 0xc], edx
mov edx, dword [esi + 8]
mov dword [edi + 0x10], edx
movsx eax, byte [esi + 0x87]
movzx edx, byte [esi + 0x134]
shl eax, 8
or eax, edx
movsx edx, word [esi + 0xc]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0x84]
shl eax, 8
or eax, edx
mov dword [edi + 0x14], eax
movzx eax, byte [esi + 0xb1]
movzx edx, byte [esi + 0xae]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0xad]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0xac]
shl eax, 8
or eax, edx
mov dword [edi + 0x18], eax
movzx eax, byte [esi + 0xb3]
movzx edx, byte [esi + 0xb2]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0xb0]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0xaf]
shl eax, 8
or eax, edx
mov dword [edi + 0x1c], eax
movzx eax, byte [esi + 0xb7]
movzx edx, byte [esi + 0xb6]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0xb5]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0xb4]
shl eax, 8
or eax, edx
mov dword [edi + 0x20], eax
lea eax, [ecx + 6]
mov dword [edi + 0x24], ebx
mov edx, 2
mov dword [esp + 0xc], eax
push ebp
mov bl, byte [eax]
cmp bl, 0x24
jb 0x4381bc
cmp bl, 0x27
ja 0x4381bc
lea ecx, [edx - 2]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 1]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x120]
shl ebp, cl
or dword [edi + 0x24], ebp
mov bl, byte [eax + 8]
cmp bl, 0x24
jb 0x4381f3
cmp bl, 0x27
ja 0x4381f3
lea ecx, [edx - 1]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 9]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x120]
shl ebp, cl
or dword [edi + 0x24], ebp
mov bl, byte [eax + 0x10]
cmp bl, 0x24
jb 0x438229
cmp bl, 0x27
ja 0x438229
mov ebp, edx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
mov ecx, edx
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x11]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x120]
shl ebp, cl
or dword [edi + 0x24], ebp
mov bl, byte [eax + 0x18]
cmp bl, 0x24
jb 0x438260
cmp bl, 0x27
ja 0x438260
lea ecx, [edx + 1]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x19]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x120]
shl ebp, cl
or dword [edi + 0x24], ebp
mov bl, byte [eax + 0x20]
cmp bl, 0x24
jb 0x438297
cmp bl, 0x27
ja 0x438297
lea ecx, [edx + 2]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x21]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x120]
shl ebp, cl
or dword [edi + 0x24], ebp
add edx, 5
lea ecx, [edx - 2]
add eax, 0x28
cmp ecx, 0x50
jb 0x438186
movzx edx, word [esi + 0xba]
movzx eax, word [esi + 0xb8]
shl edx, 0x10
or edx, eax
mov dword [edi + 0x28], edx
movzx ecx, word [esi + 0xbe]
movzx edx, word [esi + 0xbc]
shl ecx, 0x10
or ecx, edx
mov dword [edi + 0x2c], ecx
movzx eax, byte [esi + 0xc3]
movzx ecx, byte [esi + 0xc2]
movzx edx, byte [esi + 0xc1]
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 0xc0]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [edi + 0x30], eax
movsx edx, byte [esi + 0xc7]
movsx eax, byte [esi + 0xc6]
movsx ecx, byte [esi + 0xc5]
shl edx, 8
or edx, eax
movsx eax, byte [esi + 0xc4]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov dword [edi + 0x34], edx
movsx eax, byte [esi + 0x8b]
movsx ecx, byte [esi + 0xaa]
movsx edx, byte [esi + 0xa9]
shl eax, 5
or eax, ecx
movsx ecx, byte [esi + 0xab]
shl eax, 5
or eax, edx
movsx edx, byte [esi + 0xa8]
shl eax, 5
or eax, ecx
movsx ecx, byte [esi + 0xa7]
shl eax, 5
or eax, edx
movsx edx, byte [esi + 0xa6]
shl eax, 5
or eax, ecx
shl eax, 5
or eax, edx
mov dword [edi + 0x38], eax
cmp byte [esi + 0x82], 0
je 0x438394
or eax, 0x80000000
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0x3c], 0
mov edx, 2
mov bl, byte [eax]
cmp bl, 0x3c
jb 0x4383da
cmp bl, 0x3f
ja 0x4383da
lea ecx, [edx - 2]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 1]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x1e0]
shl ebp, cl
or dword [edi + 0x3c], ebp
mov bl, byte [eax + 8]
cmp bl, 0x3c
jb 0x438411
cmp bl, 0x3f
ja 0x438411
lea ecx, [edx - 1]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 9]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x1e0]
shl ebp, cl
or dword [edi + 0x3c], ebp
mov bl, byte [eax + 0x10]
cmp bl, 0x3c
jb 0x438447
cmp bl, 0x3f
ja 0x438447
mov ebp, edx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
mov ecx, edx
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x11]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x1e0]
shl ebp, cl
or dword [edi + 0x3c], ebp
mov bl, byte [eax + 0x18]
cmp bl, 0x3c
jb 0x43847e
cmp bl, 0x3f
ja 0x43847e
lea ecx, [edx + 1]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x19]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x1e0]
shl ebp, cl
or dword [edi + 0x3c], ebp
mov bl, byte [eax + 0x20]
cmp bl, 0x3c
jb 0x4384b5
cmp bl, 0x3f
ja 0x4384b5
lea ecx, [edx + 2]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x21]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x1e0]
shl ebp, cl
or dword [edi + 0x3c], ebp
add edx, 5
lea ecx, [edx - 2]
add eax, 0x28
cmp ecx, 0x50
jb 0x4383a4
movzx eax, byte [esi + 0x12b]
movzx edx, byte [esi + 0x12a]
movsx ecx, byte [esi + 0x86]
shl eax, 8
or eax, edx
movsx edx, byte [esi + 0xa3]
shl eax, 0xd
or eax, ecx
mov ecx, dword [0x4b9de8]
add eax, eax
add eax, eax
add eax, eax
or eax, edx
mov dword [edi + 0x40], eax
cmp ecx, 3
jge 0x43850c
movsx edx, byte [esi + 0x89]
jmp 0x438513
movsx edx, byte [esi + 0x83]
shl edx, 8
or edx, eax
mov dword [edi + 0x40], edx
mov al, byte [esi + 0x8a]
cmp al, 1
jne 0x43852b
or dword [edi + 0x40], 2
jmp 0x438533
cmp al, 2
jne 0x438533
or dword [edi + 0x40], 4
xor ebx, ebx
mov dword [edi + 0x44], ebx
mov al, byte [esi + 0x9f]
cmp byte [esi + 0xa4], bl
je 0x43857d
cmp al, 1
je 0x43854e
cmp al, 2
jne 0x438558
movzx eax, word [esi + 0x9c]
mov dword [edi + 0x44], eax
cmp byte [esi + 0x8b], bl
jne 0x438592
mov al, byte [esi + 0x96]
cmp al, 1
je 0x43856e
cmp al, 2
jne 0x438592
movzx edx, word [esi + 0x94]
shl edx, 0x10
or dword [edi + 0x44], edx
jmp 0x438592
cmp al, 1
je 0x438585
cmp al, 2
jne 0x438592
movzx eax, word [esi + 0x9c]
shl eax, 0x10
mov dword [edi + 0x44], eax
cmp ecx, 3
mov dword [edi + 0x5c], ebx
lea eax, [esp + 0x14]
lea ecx, [esi + 0x12]
jge 0x4385a8
call fcn.0040f990
jmp 0x4385ad
call fcn.00412720
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x48], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x4c], edx
mov edx, dword [esp + 0x24]
mov dword [edi + 0x50], eax
mov ax, word [esp + 0x28]
mov dword [edi + 0x54], ecx
mov dword [edi + 0x58], edx
mov word [edi + 0x5c], ax
movsx ecx, byte [esi + 0x88]
movzx edx, byte [esi + 0x12c]
mov eax, dword [esp + 0x10]
shl ecx, 8
or ecx, edx
shl ecx, 0x10
or dword [edi + 0x5c], ecx
mov dword [edi + 0x60], ebx
mov edx, 2
mov edi, edi
mov bl, byte [eax]
cmp bl, 0x60
jb 0x438636
cmp bl, 0x62
ja 0x438636
lea ecx, [edx - 2]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 1]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x300]
shl ebp, cl
or dword [edi + 0x60], ebp
mov bl, byte [eax + 8]
cmp bl, 0x60
jb 0x43866d
cmp bl, 0x62
ja 0x43866d
lea ecx, [edx - 1]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 9]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x300]
shl ebp, cl
or dword [edi + 0x60], ebp
mov bl, byte [eax + 0x10]
cmp bl, 0x60
jb 0x4386a3
cmp bl, 0x62
ja 0x4386a3
mov ebp, edx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
mov ecx, edx
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x11]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x300]
shl ebp, cl
or dword [edi + 0x60], ebp
mov bl, byte [eax + 0x18]
cmp bl, 0x60
jb 0x4386da
cmp bl, 0x62
ja 0x4386da
lea ecx, [edx + 1]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x19]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x300]
shl ebp, cl
or dword [edi + 0x60], ebp
mov bl, byte [eax + 0x20]
cmp bl, 0x60
jb 0x438711
cmp bl, 0x62
ja 0x438711
lea ecx, [edx + 2]
mov ebp, ecx
shr ebp, 5
mov ebp, dword [esi + ebp*4 + 0xc8]
and ecx, 0x1f
shr ebp, cl
movzx ecx, bl
movzx ebx, byte [eax + 0x21]
and ebp, 1
lea ecx, [ebx + ecx*8 - 0x300]
shl ebp, cl
or dword [edi + 0x60], ebp
add edx, 5
lea ecx, [edx - 2]
add eax, 0x28
cmp ecx, 0x50
jb 0x438600
movzx edx, byte [esi + 0x12d]
shl edx, 0x18
or dword [edi + 0x60], edx
movzx eax, byte [esi + 0x131]
movzx ecx, byte [esi + 0x130]
movzx edx, byte [esi + 0x12f]
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 0x12e]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov ebx, 3
mov dword [edi + 0x64], eax
lea ecx, [esi + 0xd8]
lea eax, [esp + 0x14]
cmp dword [0x4b9de8], ebx
jge 0x43877c
call fcn.0040f990
jmp 0x438781
call fcn.00412720
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x68], edx
mov edx, dword [esp + 0x20]
mov dword [edi + 0x6c], eax
mov dword [edi + 0x70], ecx
mov dword [edi + 0x74], edx
mov cl, byte [esi + 0x9f]
movzx eax, word [esi + 0x9c]
movzx edx, word [esi + 0x94]
cmp cl, 1
je 0x4387bb
cmp cl, 2
jne 0x4387c7
cmp eax, 0x70
jb 0x4387c7
cmp eax, 0x7d0
jb 0x4387d5
lea ecx, [eax - 0x7db]
cmp ecx, 0x3dc
ja 0x4387da
mov eax, 0xbba
mov cl, byte [esi + 0x96]
cmp cl, 1
je 0x4387ea
cmp cl, 2
jne 0x4387f7
cmp edx, 0x70
jb 0x4387f7
cmp edx, 0x7d0
jb 0x438805
lea ecx, [edx - 0x7db]
cmp ecx, 0x3dc
ja 0x43880a
mov edx, 0xbba
cmp byte [esi + 0xa4], 0
je 0x43886e
cmp byte [esi + 0x8b], 0
jne 0x43886e
movsx ecx, byte [esi + 0x9a]
movsx ebp, byte [esi + 0x9b]
shl ecx, 8
or ecx, ebp
movzx ebp, word [esi + 0x98]
shl ecx, 8
or ecx, ebp
mov dword [edi + 0x78], ecx
shl eax, 0x10
mov dword [edi + 0x7c], eax
movzx ecx, word [esi + 0x90]
shl ecx, 0x18
or dword [edi + 0x78], ecx
movsx ecx, byte [esi + 0x92]
movsx ebp, byte [esi + 0x93]
shl ecx, 8
or ecx, ebp
or ecx, eax
mov dword [edi + 0x80], edx
jmp 0x4388da
cmp byte [esi + 0x9e], 0
je 0x4388b4
cmp byte [esi + 0x8b], 0
je 0x4388b4
movsx edx, byte [esi + 0x9a]
movsx ecx, byte [esi + 0x9b]
shl edx, 8
or edx, ecx
movzx ecx, word [esi + 0x98]
shl edx, 8
or edx, ecx
shl eax, 0x10
mov dword [edi + 0x78], edx
mov dword [edi + 0x7c], eax
mov dword [edi + 0x80], 0
jmp 0x4388dd
movzx edx, word [esi + 0x98]
shl edx, 0x18
mov dword [edi + 0x78], edx
movsx ecx, byte [esi + 0x9a]
movsx edx, byte [esi + 0x9b]
shl ecx, 8
or ecx, edx
mov dword [edi + 0x80], eax
mov dword [edi + 0x7c], ecx
movzx eax, byte [esi + 0x8c]
shl eax, 0x10
or dword [edi + 0x80], eax
cmp byte [esi + 0x9f], 2
mov eax, dword [edi + 0x80]
pop ebp
jne 0x438913
cmp byte [esi + 0xa0], 0x10
jle 0x438913
or eax, 0x4000000
mov dword [edi + 0x80], eax
jmp 0x438925
movsx ecx, byte [esi + 0xa0]
shl ecx, 0x18
or ecx, eax
mov dword [edi + 0x80], ecx
movsx eax, byte [esi + 0xa2]
movsx edx, byte [esi + 0xa1]
shl eax, 8
or eax, edx
mov dword [edi + 0x84], eax
cmp byte [esi + 0x133], 0
je 0x438952
or eax, 0x80
mov dword [edi + 0x84], eax
cmp byte [esi + 0x9f], 2
jne 0x43896b
movsx eax, byte [esi + 0xa0]
shl eax, 0x10
or dword [edi + 0x84], eax
movzx ecx, byte [esi + 0x132]
shl ecx, 0x18
or dword [edi + 0x84], ecx
mov edx, dword [esi]
and edx, dword [esi + 4]
cmp edx, 0xffffffff
jne 0x4389c6
movzx eax, word [esi + 0xd6]
movsx ecx, byte [esi + 0x8d]
movsx edx, byte [esi + 0x8a]
push eax
movzx eax, word [esi + 0xd4]
push ecx
movsx ecx, byte [esi + 0x85]
push edx
movsx edx, byte [esi + 0x83]
push ecx
movsx ecx, word [esi + 0xe]
push edx
dec ecx
push ecx
call fcn.00437de0
add esp, 0x18
mov dword [edi], eax
jmp 0x4389ca
mov edx, dword [esi]
mov dword [edi], edx
push edi
call fcn.00437c40
movzx eax, ax
shl eax, 0x10
add esp, 4
mov dword [edi + 4], eax
cmp dword [0x4b9de8], ebx
jge 0x438b24
movzx ecx, word [esi + 0x19c]
movzx edx, byte [esi + 0x1a0]
movzx eax, byte [esi + 0x19e]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov dword [edi + 0x88], ecx
movsx eax, word [esi + 0xe]
movzx eax, byte [eax + 0x4a23f7]
mov edx, dword [esi + 8]
imul eax, eax, 0x190
mov ecx, 0x63
add eax, 0x4a2814
jmp 0x438a30
cmp edx, dword [eax]
jae 0x438b1c
sub eax, 4
dec ecx
jns 0x438a30
mov eax, 0x64
movzx edx, word [esi + 0x190]
movzx ecx, byte [esi + 0x19f]
shl edx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov dword [edi + 0x8c], ecx
movzx eax, word [esi + 0x192]
movzx ecx, word [esi + 0x190]
shl eax, 0x10
or eax, ecx
mov dword [edi + 0x90], eax
movzx edx, word [esi + 0x196]
movzx eax, word [esi + 0x194]
shl edx, 0x10
or edx, eax
mov dword [edi + 0x94], edx
movzx ecx, word [esi + 0x19a]
movzx edx, word [esi + 0x198]
shl ecx, 0x10
or ecx, edx
mov dword [edi + 0x98], ecx
lea ecx, [edi + 0x9c]
lea eax, [esi + 0x138]
mov edx, 0xe
lea ecx, [ecx]
mov ebx, dword [eax]
mov dword [ecx], ebx
add eax, 4
add ecx, 4
dec edx
jne 0x438ac0
mov eax, dword [esi + 0x178]
mov dword [edi + 0xd4], eax
mov ecx, dword [esi + 0x17c]
mov dword [edi + 0xd8], ecx
mov edx, dword [esi + 0x180]
mov dword [edi + 0xdc], edx
mov eax, dword [esi + 0x184]
mov dword [edi + 0xe0], eax
mov ecx, dword [esi + 0x188]
mov dword [edi + 0xe4], ecx
mov edx, dword [esi + 0x18c]
mov dword [edi + 0xe8], edx
pop edi
pop esi
pop ebx
add esp, 0x1c
ret
lea eax, [ecx + 1]
jmp 0x438a43
movzx eax, word [esi + 0x19c]
movzx ecx, byte [esi + 0x1a0]
movzx edx, byte [esi + 0x19e]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [edi + 0x88], eax
movsx eax, word [esi + 0xe]
movzx eax, byte [eax + 0x4a23f7]
mov edx, dword [esi + 8]
imul eax, eax, 0x190
mov ecx, 0x63
add eax, 0x4a2814
cmp edx, dword [eax]
jae 0x438c08
sub eax, 4
dec ecx
jns 0x438b67
mov eax, 0x64
movzx edx, word [esi + 0x190]
movzx ecx, byte [esi + 0x19f]
shl edx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov dword [edi + 0x8c], ecx
movzx eax, word [esi + 0x192]
movzx ecx, word [esi + 0x190]
shl eax, 0x10
or eax, ecx
mov dword [edi + 0x90], eax
movzx edx, word [esi + 0x196]
movzx eax, word [esi + 0x194]
shl edx, 0x10
or edx, eax
mov dword [edi + 0x94], edx
movzx ecx, word [esi + 0x19a]
movzx edx, word [esi + 0x198]
shl ecx, 0x10
or ecx, edx
mov dword [edi + 0x98], ecx
add edi, 0x9c
add esi, 0x138
mov eax, 0x10
mov ecx, dword [esi]
mov dword [edi], ecx
add esi, 4
add edi, 4
dec eax
jne 0x438bf4
pop edi
pop esi
pop ebx
add esp, 0x1c
ret
lea eax, [ecx + 1]
jmp 0x438b7a