Function at 0x440b50
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d8314
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x288]
mov ecx, dword [edx + 8]
push 0
call fcn.0041a070
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x288]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
call fcn.004032f0
mov ecx, dword [edi + 0x1c]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4420db
mov esi, dword [eax + 8]
mov eax, dword [esi + 8]
cmp eax, 5
mov ebx, 3
jne 0x440bd2
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0xa
jne 0x440c0c
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x441140
push 0x3e4ccccd
mov dword [ecx + 0x6c], 0x3dcccccd
mov dword [ecx + 0x70], 0x3e4ccccd
call fcn.00420710
jmp 0x441140
cmp eax, 0x44
jne 0x440c4c
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x441140
push 0x3ecccccd
mov dword [ecx + 0x94], ebx
mov dword [ecx + 0x6c], 0x3dcccccd
mov dword [ecx + 0x70], 0x3e4ccccd
call fcn.00420710
jmp 0x441140
cmp eax, 7
jne 0x440c96
push 0
push esi
mov ecx, edi
call fcn.0043d930
xor ebp, ebp
lea ecx, [ecx]
push ebp
push 0xb
mov ecx, esi
call fcn.00419e90
test eax, eax
je 0x440c8b
mov eax, dword [eax + 0x20]
test eax, eax
je 0x440c8b
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + 0x103c]
push 2
push 0xbd4ccccd
push eax
call fcn.00421b50
inc ebp
cmp ebp, 2
jb 0x440c60
jmp 0x441140
cmp eax, 0x1a
jne 0x440cd6
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x441140
push 0x3e800000
mov dword [ecx + 0x94], ebx
mov dword [ecx + 0x6c], 0x3dcccccd
mov dword [ecx + 0x70], 0x3e4ccccd
call fcn.00420710
jmp 0x441140
cmp eax, 6
jne 0x440cea
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x45
jne 0x440d2a
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x441140
push 0x3f800000
mov dword [ecx + 0x94], ebx
mov dword [ecx + 0x6c], 0x3dcccccd
mov dword [ecx + 0x70], 0x3e99999a
call fcn.00420710
jmp 0x441140
cmp eax, 0x4f
jne 0x440d6a
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x441140
push 0x3f800000
mov dword [ecx + 0x94], ebx
mov dword [ecx + 0x6c], 0x3dcccccd
mov dword [ecx + 0x70], 0x3f000000
call fcn.00420710
jmp 0x441140
cmp eax, 0x51
jne 0x440daa
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x441140
push 0x3f000000
mov dword [ecx + 0x94], ebx
mov dword [ecx + 0x6c], 0x3dcccccd
mov dword [ecx + 0x70], 0x3e99999a
call fcn.00420710
jmp 0x441140
cmp eax, 0x5b
jne 0x440e5e
xor ebp, ebp
push ebp
push esi
mov ecx, edi
call fcn.0043d930
push ebp
mov ecx, esi
call fcn.00418aa0
mov ebx, eax
mov dword [ebx + 0x100], ebp
mov dword [ebx + 0xfc], ebp
mov ebp, dword [ebx + 0x84]
test ebp, ebp
je 0x440de9
push 0
push 0
mov ecx, ebp
call fcn.004206d0
fld dword [ebx + 0xe4]
fcomp dword [0x4fd1ec]
fnstsw ax
test ah, 0x41
jne 0x440e2d
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x103c]
push 0
push 0xbfb33333
push 1
push 0x3ccccccd
lea eax, [esi + 0x88]
push eax
push 0
push ebp
call fcn.00420fc0
mov dword [ebx + 0x80], eax
jmp 0x44113b
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 0x3fb33333
push 0
push 1
push 0x3ccccccd
lea edx, [esi + 0x88]
push edx
push 0
push ebp
call fcn.00420fc0
mov dword [ebx + 0x80], eax
jmp 0x44113b
lea ebp, [esi + 0x24]
push str.tmo_pipe
push ebp
call fcn.004c81d0
add esp, 8
test eax, eax
je 0x440fb5
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov eax, dword [esi + 8]
cmp eax, 0x17
jne 0x440eed
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.00418aa0
mov ebp, eax
mov dword [ebp + 0x100], ebx
mov dword [ebp + 0xfc], ebx
mov ebx, dword [ebp + 0x84]
test ebx, ebx
je 0x440eb6
push 0
push 0
mov ecx, ebx
call fcn.004206d0
push 0x50962c
mov ecx, ebp
call fcn.00419530
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x103c]
push 0x3fc90fdb
push 0xbfc90fdb
push 1
push 0x3ccccccd
add eax, 0x24
push eax
push 0
push ebx
call fcn.00420fc0
jmp 0x44113b
cmp eax, 0x19
jne 0x441140
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.00418aa0
mov ebp, eax
mov dword [ebp + 0x100], ebx
mov dword [ebp + 0xfc], ebx
mov ebx, dword [ebp + 0x84]
test ebx, ebx
je 0x440f23
push 0
push 0
mov ecx, ebx
call fcn.004206d0
push 0x509638
mov ecx, ebp
call fcn.00419530
push 0
mov ecx, ebp
mov dword [esp + 0x14], eax
call fcn.00418ce0
fld dword [eax + 0xe0]
fcomp dword [0x4fd1ec]
fnstsw ax
test ah, 0x41
jne 0x440f82
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 0
push 0xbf490fdb
push 1
push 0x3ccccccd
add edx, 0x24
push edx
push 0
push ebx
call fcn.00420fc0
mov dword [esi + 0x14], 0xffffffff
jmp 0x44113b
mov ecx, dword [esp + 0x10]
mov edx, dword [edi + 0xc]
push 0x3f490fdb
push 0
push 1
push 0x3ccccccd
add ecx, 0x24
push ecx
mov ecx, dword [edx + 0x103c]
push 0
push ebx
call fcn.00420fc0
mov dword [esi + 0x14], 0xffffffff
jmp 0x44113b
mov eax, dword [esi + 8]
cmp eax, 0x18
jne 0x440fcc
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x13
jne 0x440fe0
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x1b
jne 0x440ff4
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
push str.tmo_belt_gear
push ebp
call fcn.004c81d0
add esp, 8
test eax, eax
je 0x441015
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
mov eax, dword [esi + 8]
cmp eax, 0x53
je 0x4410df
cmp eax, 0x55
je 0x4410df
cmp eax, 0x26
jne 0x441045
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov dword [esi + 0x14], 0xffffffff
jmp 0x441140
cmp eax, 0x28
jne 0x441059
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x29
jne 0x44106d
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x2a
jne 0x441081
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x2b
jne 0x441095
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x5a
jne 0x4410a9
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x25
jne 0x4410bd
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x40
jne 0x4410ce
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
cmp eax, 0x2c
jne 0x441140
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x441140
xor ebx, ebx
push ebx
push esi
mov ecx, edi
call fcn.0043d930
mov ebp, dword [esi + 0x84]
cmp ebp, ebx
je 0x4410fd
push ebx
push ebx
mov ecx, ebp
call fcn.004206d0
push str.Wheel
mov ecx, esi
call fcn.00419530
push ebx
push 0xbf490fdb
push ebx
push 0x3c23d70a
add eax, 0x24
push eax
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push ebx
push ebp
call fcn.00420fc0
mov dword [esi + 0x80], eax
mov dword [esi + 0xfc], ebx
mov dword [esi + 0x100], ebx
mov ebx, 3
mov eax, dword [esi + 8]
cmp eax, 0x42
jne 0x4411e5
xor ebx, ebx
push ebx
push esi
mov ecx, edi
call fcn.0043d930
push ebx
mov ecx, esi
call fcn.00418aa0
mov esi, eax
mov ebp, dword [esi + 0x84]
cmp ebp, ebx
mov dword [esi + 0x100], ebx
mov dword [esi + 0xfc], ebx
je 0x441180
push ebx
push ebx
mov ecx, ebp
call fcn.004206d0
push str.MountBar
mov ecx, esi
call fcn.00419530
push 0
mov ecx, esi
mov ebx, eax
call fcn.00418ce0
fld dword [eax + 0xe0]
fcomp dword [0x4fd1ec]
add ebx, 0x24
fnstsw ax
test ah, 0x41
jne 0x4411d2
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x103c]
push 0
push 0xbf490fdb
push 0
push 0x3c23d70a
push ebx
push 0
push ebp
call fcn.00420fc0
jmp 0x4420c9
push 0x3f490fdb
push 0
push 0
push 0x3c23d70a
jmp 0x4413cc
cmp eax, 0x41
jne 0x441304
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
mov ecx, esi
call fcn.00418aa0
mov ebx, eax
push 1
mov ecx, esi
mov dword [esp + 0x18], ebx
call fcn.00418aa0
mov ebp, dword [ebx + 0x84]
test ebp, ebp
mov eax, dword [eax + 0x84]
mov dword [esp + 0x10], eax
je 0x44122f
push 0
push 0
mov ecx, ebp
call fcn.004206d0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x441242
push 0
push 0
mov ecx, eax
call fcn.004206d0
push 0x509668
mov ecx, ebx
call fcn.00419530
mov ecx, dword [esp + 0x14]
push 0
mov ebx, eax
call fcn.00418ce0
fld dword [eax + 0xe0]
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x10]
fcomp dword [0x4fd1ec]
add ebx, 0x24
fnstsw ax
test ah, 0x41
jne 0x4412a4
push 0x3f4ccccd
push 0xbc23d70a
push 1
push 0x3c23d70a
push ebx
push 0
push ecx
mov ecx, dword [edx + 0x103c]
call fcn.00420fc0
push 0x3c23d70a
push 0xbf4ccccd
jmp 0x4412ce
push 0x3c23d70a
push 0xbf4ccccd
push 1
push 0x3c23d70a
push ebx
push 0
push ecx
mov ecx, dword [edx + 0x103c]
call fcn.00420fc0
push 0x3f4ccccd
push 0xbc23d70a
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 1
push 0x3c23d70a
push ebx
push 0
push ebp
call fcn.00420fc0
mov ecx, dword [esi + 0x12c]
fld qword [ecx]
mov dword [esi + 0xf4], 0x40000000
fstp qword [esi + 0x138]
jmp 0x4420c9
cmp eax, 0x43
jne 0x441408
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
mov ecx, esi
call fcn.00418aa0
mov ebx, eax
mov ebp, dword [ebx + 0x84]
test ebp, ebp
je 0x44134e
mov eax, 0x3dcccccd
push 0x3f800000
mov ecx, ebp
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x70], eax
call fcn.00420710
push 0
push 1
mov ecx, ebp
call fcn.004206d0
xor eax, eax
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x104], eax
push 1
mov ecx, esi
mov dword [esi + 0x10], eax
call fcn.00418aa0
mov esi, eax
xor eax, eax
cmp ebp, eax
mov dword [esi + 0x100], eax
mov dword [esi + 0xfc], eax
je 0x441391
mov ebp, dword [esi + 0x84]
push eax
push eax
mov ecx, ebp
call fcn.004206d0
push 0x509674
mov ecx, esi
call fcn.00419530
push 0
mov ecx, esi
mov ebx, eax
call fcn.00418ce0
fld dword [eax + 0xe0]
fcomp dword [0x4fd1ec]
add ebx, 0x24
fnstsw ax
test ah, 0x41
jne 0x4413e3
push 0
push 0xbf490fdb
push 1
push 0x3dcccccd
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + 0x103c]
push ebx
push 0
push ebp
call fcn.00420fc0
jmp 0x4420c9
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 0x3f490fdb
push 0
push 1
push 0x3dcccccd
push ebx
push 0
push ebp
call fcn.00420fc0
jmp 0x4420c9
cmp eax, 0x3a
jne 0x44143f
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
push 4
mov ecx, esi
call fcn.00419e90
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 1
push 0
push edx
call fcn.00421b50
jmp 0x4420c9
cmp eax, 0x3d
jne 0x4414a0
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
push 4
mov ecx, esi
call fcn.00419e90
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 1
push 0
push edx
call fcn.00421b50
push 1
push 4
mov ecx, esi
call fcn.00419e90
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 1
push 0
push edx
call fcn.00421b50
mov dword [esi + 0x14], 0xffffffff
jmp 0x4420c9
cmp eax, 0x3e
jne 0x44155b
push 1
push esi
mov ecx, edi
call fcn.0043d930
mov ebp, dword [esi + 0x84]
test ebp, ebp
je 0x4414ec
mov ebx, 0x3f000000
push 0x40a00000
mov ecx, ebp
mov dword [ebp + 0x94], 1
mov dword [ebp + 0x6c], 0x3c23d70a
mov dword [ebp + 0x70], ebx
call fcn.00420710
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x78], 0x3e4ccccd
test byte [0x5138cc], 1
jne 0x441526
or dword [0x5138cc], 1
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov ecx, dword [edx + 0xfc]
push str.SOUND_FX_ZEPPELIN
mov dword [esp + 0x30], 0
call fcn.00453be0
mov dword [0x5138c8], eax
mov dword [esp + 0x2c], 0xffffffff
fld dword [esi + 0xf4]
mov dword [esi + 0x14], 0xffffffff
fcomp dword [0x4fd1ec]
fnstsw ax
test ah, 0x44
jnp 0x4420c9
mov ecx, dword [0x5138c8]
push 0
push 0xfffffffffffffffe
call fcn.00469220
mov dword [esi + 0x14], eax
jmp 0x4420c9
cmp eax, 0x3c
jne 0x44156f
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x49
jne 0x441583
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x4b
jne 0x441597
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
lea ebp, [esi + 0x24]
push 0x509694
push ebp
call fcn.004c81d0
add esp, 8
test eax, eax
je 0x441633
push str.tmo_candle
push ebp
call fcn.004036a0
add esp, 8
test eax, eax
je 0x4415d1
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
push 2
mov ecx, esi
call fcn.00418ce0
push 0
push 0xffffffffffffffff
lea ecx, [eax + 0x68]
push ecx
mov ecx, dword [eax + 0x5c]
push 0
push esi
call fcn.0044ac10
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + 0x103c]
push eax
call fcn.004219a0
test eax, eax
mov dword [esi + 0x84], eax
je 0x4420c9
push 0x3f19999a
mov ecx, eax
mov dword [eax + 0x94], 1
mov dword [eax + 0x6c], 0x3e4ccccd
mov dword [eax + 0x70], 0x3ecccccd
call fcn.00420710
jmp 0x4420c9
mov eax, dword [esi + 8]
cmp eax, 0x32
jne 0x44164a
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x31
jne 0x4416a5
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
push str.tmo_heat_cannon_ball
mov ecx, esi
call fcn.00418b30
mov esi, dword [eax + 0x84]
test esi, esi
je 0x4420c9
mov eax, 0x3e4ccccd
push 0x40a00000
mov ecx, esi
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], eax
call fcn.00420710
push 0
push 1
mov ecx, esi
call fcn.004206d0
push 0
mov ecx, esi
call fcn.0041ef30
jmp 0x4420c9
cmp eax, 0x33
jne 0x441732
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
push str.tmo_heat_rocket_rocket
mov ecx, esi
call fcn.00418b30
mov ebx, eax
mov ebp, dword [ebx + 0x84]
test ebp, ebp
je 0x44171f
push 0x40000000
mov ecx, ebp
mov dword [ebp + 0x6c], 0x3e800000
mov dword [ebp + 0x70], 0
call fcn.00420710
push 0
push 1
mov ecx, ebp
mov dword [ebp + 0x74], 0x3a83126f
mov dword [ebp + 0x78], 0x3c23d70a
call fcn.004206d0
add esi, 0x88
push esi
push 1
mov ecx, ebp
call fcn.0041ef80
mov dword [ebp + 0x9c], 1
xor eax, eax
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0x100], eax
jmp 0x4420c9
cmp eax, 0x34
jne 0x441746
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x21
jne 0x44175a
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x59
jne 0x44176e
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x56
jne 0x44180c
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 1
mov ecx, esi
call fcn.00418ce0
fld dword [eax + 0xdc]
fcomp dword [0x4fd1ec]
fnstsw ax
test ah, 0x44
jp 0x4420c9
push 0
push 0
push esi
mov ecx, edi
call fcn.0043fd90
fild dword [esi + 0x10]
fcomp dword [0x4db294]
fnstsw ax
test ah, 0x44
jp 0x4417f1
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x288]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0xc]
push 0x5096dc
call fcn.00463eb0
push 2
mov ecx, esi
mov ebx, eax
call fcn.00418ce0
mov dword [eax + 0xa8], ebx
jmp 0x4420c9
mov edx, dword [edi + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax + 0x288]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
push str.green
jmp 0x4417d6
cmp eax, 0x57
jne 0x4418aa
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
push str.tmo_power_toaster_toast
mov ecx, esi
call fcn.00418b30
mov ebx, eax
mov ebp, dword [ebx + 0x84]
test ebp, ebp
je 0x441876
push 0x3dcccccd
mov ecx, ebp
mov dword [ebp + 0x6c], 0x3e19999a
mov dword [ebp + 0x70], 0x3dcccccd
call fcn.00420710
push 0
push 1
mov ecx, ebp
mov dword [ebp + 0x74], 0x3a83126f
mov dword [ebp + 0x78], 0x3c23d70a
call fcn.004206d0
mov dword [ebp + 0xa0], 5
xor ebp, ebp
push ebp
push str.tmo_power_toaster_dummy
mov ecx, esi
call fcn.00418b30
mov eax, dword [eax + 0x84]
cmp eax, ebp
je 0x441899
mov dword [eax + 0xa4], 5
mov dword [ebx + 0xfc], ebp
mov dword [ebx + 0x100], ebp
jmp 0x4420c9
cmp eax, 0x22
jne 0x4418be
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x23
jne 0x4418d9
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov dword [esi + 0x14], 0xffffffff
jmp 0x4420c9
cmp eax, 0x58
je 0x4418c3
cmp eax, 0x24
jne 0x4418f2
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x27
jne 0x441906
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x3b
je 0x44140d
cmp eax, 0x20
jne 0x441923
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 4
jne 0x441937
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x1e
jne 0x44194b
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x4a
jne 0x44195f
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, ebx
jne 0x4419ae
xor ebx, ebx
push ebx
push esi
mov ecx, edi
call fcn.0043d930
push ebx
push str.tmo_catapult_sling
mov ecx, esi
call fcn.00418b30
mov ebp, eax
mov esi, dword [ebp + 0x84]
cmp esi, ebx
je 0x44199d
push 0x42c80000
mov ecx, esi
call fcn.00420710
push ebx
push 1
mov ecx, esi
call fcn.004206d0
mov dword [ebp + 0xfc], ebx
mov dword [ebp + 0x100], ebx
jmp 0x4420c9
cmp eax, 0x2d
jne 0x441a7a
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
push str.tmo_power_pushbutton_lever
mov ecx, esi
call fcn.00418b30
mov ecx, dword [esi + 0x84]
mov ebx, eax
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x10], ecx
push 0x40066666
mov ecx, ebp
call fcn.00420710
push 0
push 0
mov ecx, ebp
call fcn.004206d0
push 0x509748
mov ecx, esi
call fcn.00419530
push 0
mov ecx, ebx
mov esi, eax
call fcn.00418ce0
fld dword [eax + 0xe0]
fcomp dword [0x4fd1ec]
add esi, 0x24
fnstsw ax
test ah, 0x41
jne 0x441a44
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 0x3e20d97c
push 0
push 1
push 0x3a83126f
push esi
push edx
jmp 0x441a61
mov ecx, dword [esp + 0x10]
mov edx, dword [edi + 0xc]
push 0
push 0xbe20d97c
push 1
push 0x3a83126f
push esi
push ecx
mov ecx, dword [edx + 0x103c]
push ebp
call fcn.00420fc0
xor eax, eax
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0x100], eax
jmp 0x4420c9
cmp eax, 0xb
jne 0x441b66
push 0
push esi
mov ecx, edi
call fcn.0043d930
push 0
push str.tmo_trap_door_board
mov ecx, esi
call fcn.00418b30
mov ebp, eax
mov ebx, dword [ebp + 0x84]
push 0x3f800000
mov ecx, ebx
call fcn.00420710
push 0
push 1
mov ecx, ebx
call fcn.004206d0
xor eax, eax
push eax
push str.tmo_trap_door_lever
mov ecx, esi
mov dword [ebp + 0xfc], eax
mov dword [ebp + 0x100], eax
call fcn.00418b30
mov ebx, eax
mov ebp, dword [ebx + 0x84]
push 0x40a00000
mov ecx, ebp
call fcn.00420710
push 0
push 0
mov ecx, ebp
call fcn.004206d0
push str.Mechanic02
mov ecx, esi
call fcn.00419530
push 0
mov ecx, ebx
mov esi, eax
call fcn.00418ce0
fld dword [eax + 0xe0]
fcomp dword [0x4fd1ec]
add esi, 0x24
fnstsw ax
test ah, 0x41
jne 0x441b33
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
push 0
push 0xbf860a92
jmp 0x441b43
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x103c]
push 0x3f860a92
push 0
push 1
push 0x3d6147ae
push esi
push 0
push ebp
call fcn.00420fc0
xor eax, eax
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0x100], eax
jmp 0x4420c9
cmp eax, 0x35
je 0x4418c3
cmp eax, 0x37
jne 0x441b83
push 0
push esi
mov ecx, edi
call fcn.0043d930
jmp 0x4420c9
cmp eax, 0x47
jne 0x441bcd
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
push 0x3f000000
mov ecx, esi
mov dword [esi + 0x6c], 0x3e4ccccd
mov dword [esi + 0x70], 0x3f000000
call fcn.00420710
mov dword [esi + 0x74], 0x3e99999a
mov dword [esi + 0x78], 0x3dcccccd
jmp 0x4420c9
cmp eax, 1
jne 0x441c09
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
mov dword [esi + 0x6c], 0x3e4ccccd
push 0x3e4ccccd
mov ecx, esi
mov dword [esi + 0x70], 0x3e99999a
call fcn.00420710
jmp 0x4420c9
cmp eax, 0x48
jne 0x441c2e
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
mov dword [esi + 0x94], ebx
jmp 0x441bea
cmp eax, 0xc
jne 0x441d68
push 1
push esi
mov ecx, edi
call fcn.0043d930
mov ebp, dword [esi + 0x84]
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x441c6f
push 0x3f000000
mov ecx, ebp
mov dword [ebp + 0x6c], 0x3dcccccd
mov dword [ebp + 0x70], 0x3e99999a
call fcn.00420710
mov dword [ebp + 0x94], ebx
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
push edx
mov ecx, esi
call fcn.00418aa0
mov ebp, eax
push 0
push ebp
mov ecx, edi
call fcn.0043d930
mov ebx, dword [ebp + 0x84]
test ebx, ebx
je 0x441cb3
push 0x3f000000
mov ecx, ebx
mov dword [ebx + 0x6c], 0x3e4ccccd
mov dword [ebx + 0x70], 0x3f19999a
call fcn.00420710
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0xc]
push 0
push 0x3f800000
push 0
push 0x3d4ccccd
lea eax, [ebp + 0x88]
push eax
push ebx
push ecx
mov ecx, dword [edx + 0x103c]
call fcn.00420fc0
mov dword [ebp + 0x80], eax
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 3
mov dword [esp + 0x10], eax
jb 0x441c77
mov ecx, dword [edi + 0xc]
push esi
call fcn.00427290
test byte [0x5138cc], 2
jne 0x441d33
or dword [0x5138cc], 2
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xfc]
push str.SOUND_FX_ROBOT
mov dword [esp + 0x30], 1
call fcn.00453be0
mov dword [0x5138c4], eax
mov dword [esp + 0x2c], 0xffffffff
fld dword [esi + 0xf4]
mov dword [esi + 0x14], 0xffffffff
fcomp dword [0x4fd1ec]
fnstsw ax
test ah, 0x44
jnp 0x4420c9
mov ecx, dword [0x5138c4]
push 0
push 0xfffffffffffffffe
call fcn.00469220
mov dword [esi + 0x14], eax
jmp 0x4420c9
cmp eax, 0x50
jne 0x441e42
push 1
push esi
mov ecx, edi
call fcn.0043d930
mov ecx, dword [esi + 0x84]
test ecx, ecx
mov dword [esp + 0x14], ecx
je 0x441da1
push 0x3e800000
mov dword [ecx + 0x6c], 0x3dcccccd
mov dword [ecx + 0x70], 0x3e99999a
call fcn.00420710
mov dword [esp + 0x10], 0
lea esp, [esp]
mov edx, dword [esp + 0x10]
push edx
mov ecx, esi
call fcn.00418aa0
mov ebp, eax
push 0
push ebp
mov ecx, edi
call fcn.0043d930
mov ebx, dword [ebp + 0x84]
test ebx, ebx
je 0x441de9
mov eax, 0x3e4ccccd
push 0x3eb33333
mov ecx, ebx
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x70], eax
call fcn.00420710
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0xc]
push 0
push 0x3f800000
push 0
push 0x3d4ccccd
lea eax, [ebp + 0x88]
push eax
push ebx
push ecx
mov ecx, dword [edx + 0x103c]
call fcn.00420fc0
push 0
push 0
mov dword [ebp + 0x80], eax
push eax
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x103c]
call fcn.00420f50
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 2
mov dword [esp + 0x10], eax
jb 0x441db0
jmp 0x4420c9
cmp eax, 0x52
jne 0x441e7e
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
mov dword [esi + 0x6c], 0x3dcccccd
push 0x3e800000
mov ecx, esi
mov dword [esi + 0x70], 0x3e99999a
call fcn.00420710
jmp 0x4420c9
cmp eax, 0x46
jne 0x441ec0
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
push 0x3f333333
mov ecx, esi
mov dword [esi + 0x94], ebx
mov dword [esi + 0x6c], 0x3dcccccd
mov dword [esi + 0x70], 0x3e4ccccd
call fcn.00420710
jmp 0x4420c9
cmp eax, 2
jne 0x441efc
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
mov dword [esi + 0x6c], 0x3dcccccd
push 0x3e99999a
mov ecx, esi
mov dword [esi + 0x70], 0x3e99999a
call fcn.00420710
jmp 0x4420c9
cmp eax, 0x30
je 0x441f06
cmp eax, 0x38
jne 0x441f2a
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
mov dword [esi + 0x6c], 0x3dcccccd
jmp 0x441bf1
cmp eax, 0x4c
je 0x442098
cmp eax, 0x4d
je 0x442098
cmp eax, 0x4e
je 0x442098
push 0x509798
push ebp
call fcn.004c81d0
add esp, 8
test eax, eax
je 0x4420c9
push 0
push esi
mov ecx, edi
call fcn.0043d930
cmp dword [esi + 8], 0x10
mov ebp, dword [esi + 0x84]
jne 0x441f8c
test ebp, ebp
je 0x441f8c
mov eax, 0x3e4ccccd
push 0x3f333333
mov ecx, ebp
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x70], eax
call fcn.00420710
mov esi, dword [esi + 8]
cmp esi, 0x5c
jne 0x441fb4
test ebp, ebp
je 0x441fb4
mov eax, 0x3e4ccccd
push 0x3fc00000
mov ecx, ebp
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x70], eax
call fcn.00420710
jmp 0x4420c9
cmp esi, 0xe
jne 0x441fdc
test ebp, ebp
je 0x441fdc
push 0x3e99999a
mov ecx, ebp
mov dword [ebp + 0x6c], 0x3f333333
mov dword [ebp + 0x70], 0x3e99999a
call fcn.00420710
jmp 0x4420c9
cmp esi, 0x11
jne 0x44200b
test ebp, ebp
je 0x44200b
push 0x3dcccccd
mov ecx, ebp
mov dword [ebp + 0x6c], 0x3f666666
mov dword [ebp + 0x70], 0x3c23d70a
call fcn.00420710
mov dword [ebp + 0x74], 0x37a7c5ac
jmp 0x4420c9
cmp esi, 0x12
jne 0x442036
test ebp, ebp
je 0x442036
mov eax, 0x3e4ccccd
push 0x3f333333
mov ecx, ebp
mov dword [ebp + 0x94], ebx
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x70], eax
call fcn.00420710
jmp 0x4420c9
cmp esi, 0xf
jne 0x44205b
test ebp, ebp
je 0x44205b
push 0x3f000000
mov ecx, ebp
mov dword [ebp + 0x6c], 0x3f333333
mov dword [ebp + 0x70], 0x3e4ccccd
call fcn.00420710
jmp 0x4420c9
cmp esi, 0xd
jne 0x4420c9
test ebp, ebp
je 0x4420c9
push 0x3dcccccd
mov ecx, ebp
mov dword [ebp + 0x6c], 0x3f000000
mov dword [ebp + 0x70], 0x3e4ccccd
call fcn.00420710
mov dword [ebp + 0x74], 0x3be56042
mov dword [ebp + 0x78], 0x3b83126f
mov dword [ebp + 0x94], 1
jmp 0x4420c9
push 0
push esi
mov ecx, edi
call fcn.0043d930
mov esi, dword [esi + 0x84]
test esi, esi
je 0x4420c9
mov eax, 0x3e4ccccd
push 0x3f333333
mov ecx, esi
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], eax
call fcn.00420710
mov dword [esi + 0x94], ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x440bb3
mov ecx, dword [esp + 0x24]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret